定點(diǎn)數(shù)
定點(diǎn)數(shù)就是指小數(shù)點(diǎn)的位置固定不變,小數(shù)點(diǎn)的位置通常有兩種約定方式:定點(diǎn)整數(shù)(純整數(shù),小數(shù)點(diǎn)在最低有效值位之后 比如:100.)和定點(diǎn)小數(shù)(純小數(shù),小數(shù)點(diǎn)在最高有效數(shù)值位之前 比如:.101)。
浮點(diǎn)數(shù)
浮點(diǎn)數(shù)是小數(shù)點(diǎn)位置不因定的數(shù),它能表示更大范圍。在浮點(diǎn)表示法中,階碼通常為帶符號(hào)的純整數(shù),尾數(shù)為帶符號(hào)的純小數(shù),浮點(diǎn)靈敏的表示格式如下:
階符 | 階碼 | 數(shù)符 | 尾數(shù)
浮點(diǎn)數(shù)所能表示的數(shù)值范圍主要由階碼決定,所表示數(shù)值的精度由尾數(shù)決定。為了充分利用尾數(shù)來(lái)表示更多的有效數(shù)字,通常采用規(guī)格化浮點(diǎn)數(shù)。規(guī)格化浮就是將尾數(shù)的絕對(duì)值限定在區(qū)間[0.5 , 1]。當(dāng)尾數(shù)用補(bǔ)碼表時(shí),需要注意如下問(wèn)題。
1. 若尾數(shù) M >= 0 ,則其規(guī)格化的尾數(shù)形式為 M=0.1xxxx……x, 其中 x 可為 0 或 1。即尾數(shù)限定在[0.5 , 1]之間。
2. 若尾數(shù) M < 0 ,則其規(guī)格化的尾數(shù)形式為 M=1.0xxxx……x,其中 x 可為 0 或 1。即尾數(shù)限定在[-1,-0.5]之間。
3. 工業(yè)標(biāo)準(zhǔn)IEEE 754
S | P |?。?br />
其中,S為數(shù)的符號(hào)位,為0時(shí)表示正數(shù),為1時(shí)表示負(fù)數(shù);P為階碼,通常用移碼表示;M為尾數(shù),用原碼表示。
目前,計(jì)算機(jī)中主要使用三種形式的IEEE 754 浮點(diǎn)數(shù),在IEEE 754 標(biāo)準(zhǔn)中,約定小數(shù)點(diǎn)左邊隱含有一位,通常這位數(shù)就是1。
參數(shù) 單精度浮點(diǎn)數(shù) 雙精度浮點(diǎn)數(shù) 擴(kuò)充精度浮點(diǎn)數(shù)
浮點(diǎn)數(shù)字長(zhǎng) 32 64 80
尾數(shù)長(zhǎng)度 23 52 64
符號(hào)位長(zhǎng)度 1 1 1
階碼長(zhǎng)度 8 11 15
指數(shù)偏移量 +127 +1023 +16383
可表示的實(shí)數(shù)范圍 10^-38~10^38 10^-308~10^308 10^-4932~10^4932
例如:
十進(jìn)制的 123.456 用IEEE754 單精度浮點(diǎn)二進(jìn)制表示。
首先分別轉(zhuǎn)換整數(shù)跟小數(shù)部分
整數(shù)部分:
十進(jìn)制 123 = 二進(jìn)制 1111011
小數(shù)部分:
十進(jìn)制 456 = 二進(jìn)制 01110100101111000 110
123.456 轉(zhuǎn) IEEE754 單精度浮點(diǎn)數(shù)二進(jìn)制為:
符號(hào)位 階碼 尾數(shù)
0 10000101 11101101110100101111000
說(shuō)明:
符號(hào)位
因?yàn)榇藬?shù)為正數(shù)所以為0。
階碼
IEEE 754 標(biāo)準(zhǔn) 把小數(shù)點(diǎn)移至最高有效位后,即指數(shù)為 6 ,再加上 指數(shù)偏移量 127 (等于 133) 那么階碼(移碼)的二進(jìn)制為 10000101 。
尾數(shù)
單精度浮點(diǎn)數(shù)只保留23位尾數(shù)即多余的尾數(shù)去掉,即原碼 11101101110100101111000
123.456 轉(zhuǎn) IEEE754 單精度浮點(diǎn)數(shù)二進(jìn)制為:
0 10000101 11101101110100101111000
IEEE 754 浮點(diǎn)數(shù) 十進(jìn)制轉(zhuǎn)二進(jìn)制 WEB工具 URL:
http://babbage.cs.qc.edu/IEEE-754/Decimal.html