/* 注意,形如2[3]表示2的3次方 */
執行個體一
:38414.4 的IEEE浮點數標記法(double):
double型的指數域有11位,所以偏置值為 2[11-1]-1 = 1023
38414.4 = 1001011000001110.0110011001100110011001100110011001101 = 1.0010110000011100110011001100110011001100110011001101*2[15]
//0.4=0.5*0+0.25*1+0.125*1+0.0625*0+……沒完沒了,但小數域只需52位,整數部分已經有了15位,故小數部分只需取37位.
指數域 = (15+1023)B = 1000 0001 110
小數域 = 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
最終表示:
0 1000 0001 110 0010 1100 0001 1100 1100 1100 1100 1100 1100 1100 1100 1100 1101
符號 指數域 (11) 小數域(52)
格式化為:
01000000 11100010 11000001 11001100 11001100 11001100 11001100 11001101
執行個體二:
234.5 的IEEE浮點數標記法(double):
double型的指數域有11位,所以偏置值為 2[11-1]-1 = 1023
234.5 = 11101010.1 = (1.11010101)*2[7]
指數域 = (7+1023)B = 1000 0000 110
小數域 = 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
//小數域需要52位,但11010101隻有8位,不足就後面補0.
最終表示:
0 1000 0000 110 1101 0101 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
符號 指數域(11) 小數域(52)
格式化為:
01000000 01101101 01010000 00000000 00000000 00000000 00000000 00000000
執行個體三:3490593.0 的IEEE浮點數標記法(float):
float型的指數域有8位,所以偏置值為 2[8-1]-1 = 127
3490593.0 = 1101010100001100100001.0 = 1.1010101000011001000010*2[21]
指數域 = (21+127)B = 1001 0100
小數域 = 1010 1010 0001 1001 0000 100
最終表示:
0 1001 0100 10101010000110010000100
符號 指數域(8) 小數域(23)
格式化為:
01001010 01010101 00001100 10000100