十進位制小數轉為二進位制

2021-06-28 06:02:25 字數 530 閱讀 2866

十進位制數轉換為二進位制的大家都清楚了,那麼帶小數的十進位制如何轉換為二進位制?整數部分當然和十進位制整數轉換方式一樣,也就是說小數部分如何轉化為二進位制?
方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分
為零為止。如果永遠不能為零,就同十進位制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例: 

例1:將0.125換算為二進位制

得出結果:將0.125換算為二進位制(0.001)2

分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25;

第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;

第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;

第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。

十進位制小數轉為二進位制小數

整數和小數分別轉換.整數除以2,商繼續除以2,得到0為止,將餘數逆序排列.22 2 11 餘 0 11 2 5 餘 1 5 2 2 餘 1 2 2 1 餘 0 1 2 0 餘 1 所以22的二進位制是10110 小數乘以2,取整,小數部分繼續乘以2,取整,得到小數部分0為止,將整數順序排列.0.81...

十進位制轉為二進位制

轉化規則 一般十進位制數有整數部分和小數部分組成,兩個部分其轉化規則是不相同的。因此首先把十進位制數的兩個部分分開來。整數部分 通過除二取餘法將餘數倒序記錄下來,直到除到0 小數部分 通過乘二取整法將整數正序記錄下來。十進位制轉化為二進位制 void switch float a 小數部分化為二進位...

十進位制小數轉化為二進位制小數

轉了這篇文章,完全是群裡討論計算機無法精確表示小數才想找一下原因的。究其原因就是十進位制小數無法用2進製表示 0.5什麼的可以表示 大學也學過,不過已經忘了。一 二進位制數轉換成十進位制數 由二進位制數轉換成十進位制數的基本做法是,把二進位制數首先寫成加權係數展開式,然後按十進位制加法規則求和。這種...