二進位制小數的表示

2021-10-08 21:29:46 字數 1454 閱讀 1043

二級制小數分為兩大類:1、定點數;2、浮點數。

定點數:

(1)小數點位置固定不變的數。

(2)定點數有定點整數和定點小數。

(定點整數:小數部分為0;定點小數:整數部分為0)。

定點整數的表示:

規定小數點在最低有效位的後面。

(若為8位來表示,最高位用來表示正負號(即0與1 ),剩下7位為二進位制數,小數點在最低位的右邊)。

定點小數的表示:

規定小數點在符號位與最高數值位之間。

(若用乙個位元組表示,最高位為符號位,其他位為二進位制數字)

例:將二進位制-0.1001001用2個位元組儲存為定點小數。

解:(第乙個1表示為負號)

實數可以表示:

乙個純小數和乙個乘冪之積的形式。

浮點數

小數點位置變化的數稱為浮點數。

浮點數指數表示:

指數稱為「階碼」,小數稱為「尾數」。

二進位制數的階碼和尾數都用二進位制數表示。

任意二進位制浮點數公式:

其中,m為尾數(純小數部分),整數e為階碼,m與e都帶符號。

例:規定用乙個位元組來記錄、儲存浮點數,階符為1位,階碼為2位,尾符為1位,尾數為4位。那麼,二進位制數10.101儲存為浮點數時,尾數由於儲存空間不夠,導致最右邊的1位資料「1」丟失。

這個現象稱為截斷誤差或捨入誤差。

二進位制浮點數儲存時,如果尾數儲存空間不夠,會導致產生截斷誤差。可以使用較長的尾數域,減少截斷誤差。

截斷誤差的另外乙個**是無窮展開式,也就是在進行數值轉換時發生的。

例:十進位制數0.8轉換為二進位制時為:0.11001100…

例:十進位制數1/10轉換為二進位制數時,也會遇到無窮展開式問題。

二進位制小數

要理解這道題,首先要知道什麼樣的小數可以轉化為二進位制形式,怎樣的小數不能被轉化為二進位制形式,自己測試幾組資料發現 1.可以轉化為二進位制的小數在有限次的乘二之後,小數部分會變零。舉個例子 0.625 2 1.25 1.25 2 2.5 2.5 2 5.0 5.0的小數部分變成了 0 2.不能轉化...

小數 二進位制

首先,給出乙個任意實數,整數部分用普通的二進位制便可以表示,這裡只說小數部分如何表示 例如0.6 文字描述該過程如下 將該數字乘以2,取出整數部分作為二進位制表示的第1位 然後再將小數部分乘以2,將得到的整數部分作為二進位制表示的第2位 以此類推,知道小數部分為0。特殊情況 小數部分出現迴圈,無法停...

二進位制小數

題目描述 有乙個介於0和1之間的實數,型別為double,返回它的二進位制表示。如果該數字無法精確地用32位以內的二進位制表示,返回 error 給定乙個double num,表示0到1的實數,請返回乙個string,代表該數的二進位制表示或者 error 測試樣例 0.625 返回 0.101 c...