[Toc]
小數(shù)
- 正數(shù):原碼=補(bǔ)碼
- 負(fù)數(shù):
- 原碼 = 正數(shù)部分(去掉負(fù)號(hào))的二進(jìn)制值畔派,且符號(hào)位(最左邊的比特位)為1
- 反碼 = 正數(shù)部分(去掉負(fù)號(hào))的二進(jìn)制值苦酱,按位取反
- 補(bǔ)碼 = 反碼 + 1
- 小數(shù)點(diǎn)依舊用點(diǎn)
- 純小數(shù)的原碼租幕、反碼忱叭、補(bǔ)碼
補(bǔ)碼的引進(jìn)就是為了解決機(jī)器上減法運(yùn)算不便的睦霎,思想是使符號(hào)位參與運(yùn)算导绷,即用補(bǔ)碼表示的負(fù)數(shù)進(jìn)行加法運(yùn)算就相當(dāng)...http://www.reibang.com/p/979f6e89cb7a
浮點(diǎn)數(shù)
- 浮點(diǎn)數(shù)由階碼移稳, 尾數(shù)和符號(hào)位(數(shù)符位)組成
單精度與雙精度
指數(shù)
- 是以類似移碼的形式出現(xiàn)
- 雙精度與單精度都保留00000000 與 11111111蕴纳。
- 單精度偏移127,雙精度偏移1023个粱。
- 單精度的指數(shù)范圍: -126 到 127 (1 - 127 到 254 - 127)
- 雙精度的指數(shù)范圍:1 - 1023 到 2046 - 1023
尾數(shù)
尾數(shù)沒有需要保留的數(shù)古毛。最大都是全1,最小都是全0
特殊情況
指數(shù)全為1
尾數(shù)全為0
- 視為無窮大都许。
- 若符號(hào)位為1則是負(fù)無窮大稻薇,為0 則是正無窮大。
- 運(yùn)用無窮大胶征,在計(jì)算中無需檢查溢出塞椎。
尾數(shù)不全為0
- 視為無效操作結(jié)果(NaN)
浮點(diǎn)數(shù)相加
步驟
graph TD
A(對(duì)大階) -->B(加有效數(shù))
B --> C(規(guī)格化)
C --> |溢出處理| D(舍入處理)
D --> E(決定符號(hào)位)
1.對(duì)大階[1]
2.加有效數(shù)(指數(shù)已相同,把有效數(shù)部分相加)
3.規(guī)格化[2]睛低,溢出處理(使其變?yōu)榭茖W(xué)表示法形式)
4.舍入處理
舍入處理
博客
內(nèi)容
有兩種
- “0舍1入”法:右移時(shí)被丟掉數(shù)位的最高位為0則舍去案狠,反之則將尾數(shù)的末位加“1”。
- “恒置1”法:只要數(shù)位被移掉钱雷,就在尾數(shù)的末位恒置“1”骂铁。從概率上來說,丟掉的0和1各為1/2。
溢出處理
階碼溢出
- 上溢
超過了階碼可能表示的最大值的正指數(shù)值,一般將其認(rèn)為是+∞和-∞罩抗。 - 下溢
超過了階碼可能表示的最小值的負(fù)指數(shù)值,一般將其認(rèn)為是0拉庵。
尾數(shù)溢出
- 尾數(shù)上溢
兩個(gè)同符號(hào)尾數(shù)相加產(chǎn)生了最高位向上的進(jìn)位,將尾數(shù)右移,階碼增1來重新對(duì)齊。 - 尾數(shù)下溢
在將尾數(shù)右移時(shí),尾數(shù)的最低有效位從尾數(shù)域右端流出,要進(jìn)行舍入處理
浮點(diǎn)數(shù)相乘
步驟
graph TD
A(數(shù)相加) -->B(尾數(shù)相乘)
B --> C(規(guī)格化)
C --> |檢查溢出| D(舍入)
D --> E(決定符號(hào)位)
規(guī)格化[3]
目的
為了提高數(shù)據(jù)的表示精度,為了數(shù)據(jù)表示的唯一性,它與浮點(diǎn)數(shù)的標(biāo)準(zhǔn)化并無關(guān)系
步驟
一個(gè)浮點(diǎn)數(shù)有不同的表示:
0.5
0.05 * 10^1
0.005 * 10^2
50 * 10 ^-2
尾數(shù)為R進(jìn)制的規(guī)格化:
絕對(duì)值大于或等于1/R套蒂。
尾數(shù)規(guī)格化:1/2 ≤ M <1钞支,
最高有效位絕對(duì)值為1茫蛹,其中 M為尾數(shù)。
在計(jì)算機(jī)內(nèi)烁挟,其純小數(shù)部分被稱為浮點(diǎn)數(shù)的尾數(shù)婴洼,對(duì)非 0 值的浮點(diǎn)數(shù),要求尾數(shù)的絕對(duì)值必須 >= 1/2信夫,即尾數(shù)域的最高有效位應(yīng)為1,稱滿足這種表示要求的浮點(diǎn)數(shù)為規(guī)格化表示:
0.1000101010
把不滿足這一表示要求的尾數(shù),變成滿足這一要求的尾數(shù)的操作過程卡啰,叫作浮點(diǎn)數(shù)的規(guī)格化處理静稻,通過尾數(shù)移位和修改階碼實(shí)現(xiàn)。
-
以指數(shù)較大的數(shù)為準(zhǔn)匈辱,把另一個(gè)數(shù)的指數(shù)偏移 ?
-
這里的規(guī)格化并不是指定點(diǎn)小數(shù)的規(guī)格化振湾。此處的浮點(diǎn)數(shù)規(guī)格化是指化成
$1.xx * 2^m$
(m >= 0)的規(guī)格化科學(xué)計(jì)數(shù),而定點(diǎn)小數(shù)的規(guī)格化要求1/2 ≤ M <1亡脸。 ? -
書中的規(guī)格化有兩個(gè)語言背景:(1)定點(diǎn)小數(shù)的規(guī)格化押搪,要求1/2 ≤ M <1(2)浮點(diǎn)數(shù)相加時(shí),對(duì)于結(jié)果的規(guī)格化浅碾,要求按照規(guī)格化科學(xué)計(jì)數(shù)的標(biāo)準(zhǔn)操作大州。此外,按照EEE754標(biāo)準(zhǔn)對(duì)浮點(diǎn)數(shù)進(jìn)行"規(guī)格化"的操作垂谢,它的正式說法叫做標(biāo)準(zhǔn)化 ?