關於浮點數表示,關於浮點數的表示

2021-03-04 00:33:54 字數 5120 閱讀 2850

1樓:匿名使用者

(1)先求到指數。

-5.57/2^3=-0.7185 (尾數必須規整到(-1~1)之間)

所以指數=3,二進位制是 011。

(2)尾數為負,所以尾符為1

計算尾碼:

0.7185*2 =1.437 >1 取 10.

437*2 = 0.874 < 1 取 00.874*2 = 1.

748 > 1 取 10.748*2 = 1.496 > 1 取 10.

496*2 = 0.992 < 1(四捨五入,捨去)因此尾碼為 1011,根據標準(?)規定,尾碼為負數時需要+1,因此實際尾碼為1100.

所以最終答案為: 011 1100

但是實際關於浮點數表示標準是有差異的(可以人為指定),不知道你教材中的標準是什麼,所以此處的解釋未必正確。

關於浮點數的表示

2樓:似風幻雨

請注意:首先階碼和尾數都有符號位

階碼: 0 1111110 符號位為0,所以是正得值為254這裡注意這個254不是最後階碼值,根據7.54規定偏正值為127,也就是每次階碼值都要減去127才是最後得階碼值.

這裡為什麼要減去127,是因為這裡採用無符號數存放得,而這裡本該是有符號數-126-127,因為無符號數便於比較所以通通+127,階碼就成了1-254.然後在存入計算機.所以這裡你得到254是+127後的無符號數,所以先減去127還原成有符號數.

尾數: 0 11111111111111111111111,符號是0.這裡要注意有規格化浮點數規定.

規格化浮點數如果符號位和最高位異號會省掉一位尾數.這裡就省掉了一位尾數.也就是說此時是1.

11111111111111111111111。舉個例子比如尾數是1.1111

他會存為0 1111 省掉了最高位1.所以尾數是1.1111.

現在明白了吧.

這裡有iee7.54規範可以去參考下.

給我加分哦!~~~~~~~~~~~~~~~~

計算機組成原理——浮點數表示方法

3樓:開開厲害

就是在二進位制中,乙個數的小數點可以可以通過乘以2的冪次來改變位置,這是其原理 。

浮點數的組成:階符+ 階碼 +數符+ 尾數

計算機中表示浮點數的字長通常為32位,其中7位作階碼,1位為階符,23位尾數,1位作數符

例如用2個位元組表示乙個浮點數(32寫起來麻煩,所以用2個位元組就是16位來舉例,呵呵希望諒解) (72.45x10^5)d先換成普通二進位製數(11011101000110011001000)b

然後開始像十進位製數的科學計數法那樣寫成約等於(0.1101110)bx(2^23)d

之後再將後半部分的(2^23)d轉換成(2^10111)b

於是整個數就變成了(0.1101110x2^10111)b

在計算機中表示成0001011101101110 其中第乙個0是階符表示指數是正的第九個0表示尾數是正的他們中間的就是階碼,後面的就是尾數。嗯就這樣了,希望我講清楚了,要是不明白可以繼續問我。

4樓:匿名使用者

為了表示浮點數,數被分為兩部分:整數部分和小數部分。例如,浮點數14.234就有整數部分14和小

數部分0.234.首先把浮點數轉換成二進位製數,步驟如下:

1把整數部分轉換成二進位制.2把小數部分轉換成二進位制.3在兩部分之間加上小數點.

浮點數還可以規範化,浮點數可以用單精度表示法和雙精度表示法.規範化只儲存這個數的三個部分的資訊:符號,指教和尾數.

如+1000111.0101規範化後為

+ 2^6 * 1.0001110101

符號 指數 尾數

規範化數的單精度表示法如+2^6*1.01000111001解:

由於符號為正,就用0表示.指數是6,在excess_127表示法中,給指數加上127得到133.用二進位制表示,就是10000101.

尾數是01000111001.當把位數增加到32位,得到01000111001000000000000.注意不可以漏掉左邊的0,因為它是小數.

漏掉了那個0就相當於把這個數乘於2.這個數在記憶體中以32位數儲存.如下所示

符號 指數 尾數

0 10000101 01000111001000000000000

5樓:匿名使用者

我畫個**釋:

當然我們程式設計的時候不用這麼麻煩,可以 >>   《來移位

6樓:活寶小四川

浮點數是指浮點數參與的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或捨入。

乙個浮點數a由兩個數m和e來表示:a = m × b^e。在任意乙個這樣的系統中,我們選擇乙個基數b(記數系統的基)和精度p(即使用多少位來儲存)。

m(即尾數)是形如±d.ddd...ddd的p位數(每一位是乙個介於0到b-1之間的整數,包括0和b-1)。

如果m的第一位是非0整數,m稱作規格化的。有一些描述使用乙個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。

在計算機中表示乙個浮點數,其結構如下:

尾數部分(定點小數) 階碼部分(定點整數): 階符±, 階碼e,數符±,尾數m。這種設計可以在某個固定長度的儲存空間內表示定點數無法表示的更大範圍的數。

浮點加法減法運算

設有兩個浮點數x和y,它們分別為

x = mx*2^ex

y = my*2^ey

其中ex和ey分別為數x和y的階碼,mx和my為數x和y的尾數。

兩浮點數進行加法和減法的運算規則是

設 ex小於等於ey,則 x±y = (mx*2^(ex-ey)±my)*2^ey,

完成浮點加減運算的操作過程大體分為四步:

1. 0 運算元的檢查;

2. 比較階碼大小並完成對階;

3. 尾數進行加或減運算;

4. 結果規格化並進行捨入處理。

⑴ 0 運算元檢查

浮點加減運算過程比定點運算過程複雜。如果判知兩個運算元x或y中有乙個數為0,即可得知運算結果而沒有必要再進行後續的一系列操作以節省運算時間。0運算元檢查步驟則用來完成這一功能。

⑵ 比較階碼大小並完成對階

兩浮點數進行加減,首先要看兩數的階碼是否相同,即小數點位置是否對齊。若二數階碼相同,表示小數點是對齊的,就可以進行尾數的加減運算。反之,若二數階碼不同,表示小數點位置沒有對齊,此時必須使二數階碼相同,這個過程叫作對階。

要對階,首先應求出兩數階碼ex和ey之差,即△e = ex-ey。

若△e=0,表示兩數階碼相等,即ex=ey;若△e>0,表示ex>ey;若△e<0,表示ex當ex≠ey 時,要通過尾數的移動以改變ex或ey,使之相等。原則上,既可以通過mx移位以改變ex來達到ex=ey,也可以通過my移位以改變ey來實現ex=ey。但是,由於浮點表示的數多是規格化的,尾數左移會引起最高有效位的丟失,造成很大誤差。

尾數右移雖引起最低有效位的丟失,但造成誤差較小。因此,對階操作規定使尾數右移,尾數右移後階碼作相應增加,其數值保持不變。顯然,乙個增加後的階碼與另乙個階碼相等,增加的階碼的一定是小階。

因此在對階時,總是使小階向大階看齊,即小階的尾數向右移位(相當於小數點左移)每右移一位,其階碼加1,直到兩數的階碼相等為止,右移的位數等於階差△e。

⑶ 尾數求和運算

對階結束後,即可進行尾數的求和運算。不論加法運算還是減法運算,都按加法進行操作,其方法與定點加減法運算完全一樣。

⑷ 結果規格化

在浮點加減運算時,尾數求和的結果也可以得到01.ф…ф或10.ф…ф,即兩符號位不等,這在定點加減法運算中稱為溢位,是不允許的。

但在浮點運算中,它表明尾數求和結果的絕對值大於1,向左破壞了規格化。此時將運算結果右移以實現規格化表示,稱為向右規格化。規則是:

尾數右移1位,階碼加1。當尾數不是1.m時需向左規格化。

⑸ 捨入處理

在對階或向右規格化時,尾數要向右移位,這樣,被右移的尾數的低位部分會被丟掉,從而造成一定誤差,因此要進行捨入處理。

簡單的捨入方法有兩種:一種是"0舍1入"法,即如果右移時被丟掉數字的最高位為0則捨去,為1則將尾數的末位加"1"。另一種是"恆置一"法,即只要數字被移掉,就在尾數的末尾恆置"1"。

在ieee754標準中,捨入處理提供了四種可選方法:

就近捨入其實質就是通常所說的"四捨五入"。例如,尾數超出規定的23位的多餘位數字是10010,多餘位的值超過規定的最低有效位值的一半,故最低有效位應增1。若多餘的5位 是01111,則簡單的截尾即可。

對多餘的5位10000這種特殊情況:若最低有效位現為0,則截 尾;若最低有效位現為1,則向上進一位使其變為 0。

朝0捨入 即朝數軸原點方向捨入,就是簡單的截尾。無論尾數是正數還是負數,截尾都使取值的絕對值比原值的絕對值小。這種方法容易導致誤差積累。

朝+∞捨入 對正數來說,只要多餘位不全為0則向最低有效位進1;對負數來說則是簡單的截尾。

朝-∞捨入 處理方法正好與 朝+∞捨入情況相反。對正數來說,只要多餘位不全為0則簡單截尾;對負數來說,向最低有效位進1。

⑹ 溢位處理

浮點數的溢位是以其階碼溢位表現出來的。在加\減運算過程中要檢查是否產生了溢位:若階碼正常,加(減)運算正常結束;若階碼溢位,則要進行相應處理。另外對尾數的溢位也需要處理。

階碼上溢 超過了階碼可能表示的最大值的正指數值,一般將其認為是+∞和-∞。

階碼下溢 超過了階碼可能表示的最小值的負指數值,一般將其認為是0。

尾數上溢 兩個同符號尾數相加產生了最高位向上的進製,將尾數右移,階碼增1來重新對齊。

尾數下溢 在將尾數右移時,尾數的最低有效位從尾數域右端流出,要進行捨入處理。

7樓:匿名使用者

ms e m

↓ ↓ ↓

1位 m位 n位

其中ms為數值符號位;e位階碼,移碼表示;m位數值,原碼表示。

例:資料(二進位制):0.11001×2**5(2的5次方)浮點數表示為:

0 1101 11001↓ ↓ ↓

資料 移碼符號 數值為

符號 為1,數 0.11001為0 值為5

浮點數表示方法,浮點數表示方法

乙個浮點數a由兩個數m和e來表示 a m b e。在任意乙個這樣的系統中,我們選擇乙個基數b 記數系統的基 和精度p 即使用多少位來儲存 m 即尾數 是形如 d.ddd.ddd的p位數 每一位是乙個介於0到b 1之間的整數,包括0和b 1 如果m的第一位是非0整數,m稱作規格化的。有一些描述使用乙個...

關於浮點數的表示的問題,關於浮點數的表示的問題

單精度浮點數佔用4個位元組 32位 儲存空間,包括符號位1位,階碼8位,尾數23位,最多7位有效數值 十進位制 雙精度浮點數佔用8個位元組 64位 儲存空間,包括符號位1位,階碼11位,尾數52位。乙個關於浮點數表示範圍的問題 階碼部分 8位 的表示 範圍是 128 127 因為整數在計算機裡是用補...

關於printf函式和浮點數

舉例 void main 結果 102.10 102.10102.10 102.10 102.10 102.10 102.10 000102.10 000102.10000102.10 09.2f 輸出寬度為9 2位小數 不夠就前版面補零。加負號表示靠權左對齊,否則靠右對齊。c語言printf函式,...