2 3 浮點數的表示與運算

2021-10-09 14:20:16 字數 2220 閱讀 4479

返回目錄《計算機組成原理筆記目錄(2019 王道考研)》

2.3 浮點數的表示與運算

本節主要內容

1.基本格式

2.規格化

3.表示範圍

4.ieee754標準

5.浮點數的加減運算

6.浮點數的強制型別轉換

1.基本格式

2.規格化

規定尾數的最高數字必須是乙個有效值

1.左規

當浮點數運算的結果為非規格化時,要進行規格化處理

將尾數左移一位,階碼-1(基數為2時)

2.右規

當浮點數運算結果尾數出現溢位(雙符號位為01或10)時,

將尾數右移一位,階碼+1(基數為2時)

3.浮點數的加減法

必須按照以下幾步進行

1.對階,使兩位的小數點位置對齊

2.尾數求和

3.規格化,為了增加有效數字的位數,提高運算精度,必須將求和(差)後的尾數規格化

4.捨入,為了提高精度,要考慮尾數右移時丟失的數值位

5.溢位判斷

4.規格化浮點數的特點

3.表示範圍

負數上溢和正數下溢可以當做機器0(階碼部分負溢位)

4.ieee754標準(重點)

1.幾個注意點:

1.階碼用移碼表示,不需要階符

2.尾數中有乙個隱藏表示的最高位1

3.因為有這個隱藏的最高位1,故階碼用移碼表示時的偏置量與一般的移碼的偏置量不同

需要一般移碼的偏置量-1後,即可得到此標準的移碼的偏置量

即:標準的移碼的偏置量=一般移碼的偏置量-1

4.臨時浮點數基本不會考,看一下就行

2.此標準表示浮點數還有一些規定:

通過這些規定,此標準就可以表示正無窮、負無窮、0還有nan

3.ieee754的取值範圍(正常範圍內分析,即:1<=e<=254)

4.ieee754 32位完整取值範圍示意圖

5.浮點數的加減運算

1.步驟:

0.真值到機器數的轉換

1.對階

2.尾數加減

3.規格化

規格化之前的溢位不是真溢位,規格化之後還溢位才是真溢位

4.捨入

」0「舍」1「入法

恆置「1」法

5.溢位判斷(詳見課本)

階碼上溢:需要進行中斷處理

階碼下溢:按機器0處理

2.示例

6.浮點數的強制型別轉換

1.無損型別轉換

1.char -> int -> long -> double

2.float -> double

2.無符號數和有符號數

3.intfloat的精度和表示範圍

int -> float:可能損失精度

float -> int;可能溢位及損失精度

資料的表示與運算 浮點數

計算機中,數字分為定點數和浮點數。相對於浮點數,定點數比較好理解,原碼補碼反碼移碼。而浮點數十分繁雜。關於浮點數的繁雜,我覺得最好的解釋就是,william m.kahan 因其在浮點數運算標準的制定上的突出貢獻而獲得圖靈獎。kahan 也是浮點數 ieee754 標準的主要設計師。初識浮點數 假如...

浮點數的表示

在定點數表示中存在的乙個問題是,難以表示數值很大的資料和數值很小的資料。例如,電子的質量 9 10 28克 和太陽的質量 2 1033克 相差甚遠,在定點計算機中無法直接表示,因為小數點只能固定在某乙個位置上,從而限制了資料的表示範圍。為了表示更大範圍的資料,數學上通常採用科學計數法,把資料表示成乙...

浮點數的表示

日期 2010年6月 6日 1.前幾天,我在讀一本c語言教材,有一道例題 includevoid main void 執行結果如下 num的值為 9 pfloat的值為 0.000000 num的值為 1091567616 pfloat的值為 9.000000 我很驚訝,num和 pfloat在記憶...