|
發表於 2006年11月24日 15:24:13
|
顯示全部內容
轉二進制範例
把整數和小數點區分~
首先是整數部份「56」~
二進制是「111000」~((你可以用電腦的小算盤~工程計算機~或是用手算))
再來小數點比較麻煩~「0.875」
將「0.875」乘2~結果為「1.75」~紀錄整數的數字「1」
去掉整數「1」將「0.75」乘2~結果為「1.5」~紀錄整數的數字「1」
去掉整數「1」後將「0.5」乘2~結果為「1.0」~紀錄整數的數字「1」
因為尾數已為「0」~
所以將整數與小數部份整和可得「111000.111」2
轉十六進制範例
直接將轉換後的二進制拿來用~
從小數點往左往右一次提出四個位元~
直接換算成十六進制~
小數點左邊抓四個位元即「0100」2 = 「4」16
再繼續抓四個位元「0011」2 = 「3」16
接著是小數點右邊抓四個位元即「1110」2 = 「E」16
整合之後即為「43.E」16
P.S.紅字的0是因為不足四個位元,所以要補上0,小數點亦同,但記得整數是往左補0,小數點之後是往右補0
二進位數值(1001101)
個位數代表2^0
第2位數代表2^1
第3位數代表2^2
第4位數代表2^3
第5位數代表2^4
第6位數代表2^5
.....依此類推
=1x2^6+0x2^5+0x2^4+1x2^3+1x2^2+0x2^1+1x2^0
=64+8+4+1
=77
十六進位數值(6A)
個位數代表16^0
第2位數代表16^1
=6x16^1+10x16^0
=106
IEEE-754 浮點數表示法的相關定義:
IEEE 754浮點數標準格式其定義為:
x = (-1)s * 2e-bias * 1.m
其中:s為符號位元(0表示正數,1表示負數),e為指數,bias為偏移量,m為假數
在單精確度(32位元)下,其格式為:
s(1位元)+e(8位元)+m(23位元)
(指數偏移量為127)
接下來,針對題目來看,這兩個數只有最左邊的位元不同,參考單精確度的IEEE 754格式可知,兩者之差異在符號位元,亦即第一個數是負的,第二個數是正的!
再來考慮假數的部分:23個位元均為0,表示此數在正規化後為:1.0(因為23個位元均為0,換算成十進位亦為0),請注意IEEE 754的定義:
x = (-1)s * 2e-bias * 1.m ,在IEEE 754格式中只儲存小數點後面的部分,故換算時必須將1加入!
然後是指數的部分,其值為:011111112 ,將其換算成十進位值為127,扣減掉偏移值127後得到0,表示實際指數為0(127-127)!
代入定義式中:
第一個數為: (-1)1 * 2127-127 * 1.0 = -1*20*1 = -1 * 1 * 1 = -1
第二個數為: (-1)0 * 2127-127 * 1.0 = 1*20*1 = 1 * 1 * 1 = 1
希望對您有幫助.小弟太久沒學了.有點忘記怎算了.0.22一直沒辦法轉成2進位@@"
----------------------------------------------------------------------------------------------------------
4.請將下列的十進位數值改成二進位、十六進位數值。
(1)256 10000000 100 (2)3291 110011011011 CDB (3)56.22 111000.001110000101000111 38 (4)0.267
5.請將下列的二進位數值改成十進位、十六進位數值。
(1)1110101101 (2)1011.01 (3)111111.11011
6.請將下列的二進位數值改成單精度表示法(IEEE 754表示法)。
(1)11100111.110101 (2)-0.00001010111 |
|