小數在電腦中為什麼會有誤差?說明機器數、碼制、浮點數、以及數制轉換的一些問題

來源:互聯網
上載者:User

標籤:

1.常用的數制

十進位  0~9

八進位 0~7

二進位 0~1

十六進位 0~F

 

2.十進位 轉 各個進位

   方法 : 除以基數取餘反向

 

3. 2進位  8進位  16進位 轉十進位

二進位

___________________________

  2^3     2^2    2^1     2^0

   1         0          0         1         X

  =8+ 1 = 9

 

八進位

———————————--------------

8^1    8^0

1          7

=1*8 + 7*1 = 15

 

十六進位類似。 

 

4.二進位轉 十六進位  八進位

二轉八

三位一組   結果並在一起

二轉十六

四位一組   結果合并在一起

 

5. 整數在記憶體中的儲存,採用二進位

                   符號位

原碼   正數      0

          負數       1

反碼   正數      和原碼相同

          負數      在原碼基礎上,符號位不變,各個位取反

補碼   正數     和源碼相同

          負數      在反碼基礎上,符號位不變,末位 +1

案例↓↓↓↓↓↓

————————————————————————————

                   原碼                 反碼              補碼

5         0000  0101        0000 0101       0000 0101

-5        1000   0101       1111  1010      1111 1011

 

6. 機器數 和 真值

用“+”、“-”號加絕對值來表示數值的大小,用這種形式表示的數值在電腦中稱為“真值”

符號數位化後,位元的最高位“0”表示正號,“1”表示負號,用這種形式表示的數值在電腦中稱為“機器數”

機器數中小數點隱含不佔位

機器數       有符號            純整數   點在最低位之後

                                        純小數   點在符號位之後,最高位之前。  

                 無符號            純整數    點在最低位之後

                                        純小數    點在最高位之前

 

7.小數的儲存 

   電腦中小數以二進位(浮點數)形式儲存。

   首先是一個十進位小數形式,轉化成二進位的計算案例。

————————————————————————————————

0.8125 轉換成二進位

  其實這種情況是趕巧了得到一個確切的值。

————————————————————————————————

但對於某些特殊情況是這樣的

 

8.浮點數產生誤差的原因

  有兩鐘情況,會產生誤差

   1)以二進位儲存浮點數,所以一些原本有限位的小數,按照上面方法運算以後,可能變成一個無限迴圈的小數。

————————————————————————————————

   (十進位)0.9轉成2進位是無限迴圈小數0.1110011001100110011...

————————————————————————————————

2)電腦儲存浮點數的精度有限,例如float可以保留十進位最多7位(二進位23位)有效數字,double 可以保留十進位15~16位(二進位52位)有效數字。那有效數字以後的就被忽略了。

小數在電腦中為什麼會有誤差?說明機器數、碼制、浮點數、以及數制轉換的一些問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.