小數 二進位制 的 表示與轉換

2021-07-10 07:07:23 字數 854 閱讀 3889

首先,給出乙個任意實數,整數部分用普通的二進位制便可以表示,這裡只說小數部分如何表示

例如0.6

文字描述該過程如下:將該數字乘以2,取出整數部分作為二進位制表示的第1位;然後再將小數部分乘以2,將得到的整數部分作為二進位制表示的第2位;以此類推,知道小數部分為0。

特殊情況:小數部分出現迴圈,無法停止,則用有限的二進位制位無法準確表示乙個小數,這也是在程式語言中表示小數會出現誤差的原因

下面我們具體計算一下0.6的小數表示過程

0.6 * 2 = 1.2 ——————- 1

0.2 * 2 = 0.4 ——————- 0

0.4 * 2 = 0.8 ——————- 0

0.8 * 2 = 1.6 ——————- 1

0.6 * 2 = 1.2 ——————- 1

…………

我們可以發現在該計算中已經出現了迴圈,0.6用二進位制表示為 1001 1001 1001 1001 ……

如果是10.6,那個10.6的完整二進位制表示為 1010.100110011001……

其實這個問題很簡單,我們再拿0.6的二進位制表示舉例:1001 1001 1001 1001

文字描述:從左到右,v[i] * 2^( - i ), i 為從左到右的index,v[i]為該位的值,直接看例子,很直接的

0.6 = 1 * 2^-1 + 0 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 + ……

懂了吧!

二進位制小數的表示

二級制小數分為兩大類 1 定點數 2 浮點數。定點數 1 小數點位置固定不變的數。2 定點數有定點整數和定點小數。定點整數 小數部分為0 定點小數 整數部分為0 定點整數的表示 規定小數點在最低有效位的後面。若為8位來表示,最高位用來表示正負號 即0與1 剩下7位為二進位制數,小數點在最低位的右邊 ...

c 將小數化為二進位制 二進位制的轉換

二進位制是在計算機中常用的一種進製數,其資料用0和1兩個數碼來表示資料。我們人類常用的是十進位制,那麼二進位制和十進位制之間是有乙個轉換方法的。二進位制轉換十進位制 乙個二進位制數轉換為十進位制數,是比較簡單的,其方法就是用每乙個位置上的數字乘以該位置的權重,然後相加得到。舉個例子,二進位制的101...

二進位制小數

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