誰能告訴我,十進位制轉化為二進位制為什麼是除二取餘啊?為什麼是從下往上取啊?謝謝啊

2021-08-25 05:32:56 字數 2341 閱讀 5347

1樓:旗蘊

2進位制是隻有0 1這兩個數每2個數進一位 而10進位制有10個是每十個數進一位 所以 轉換要除2取餘啊

2樓:微軟mvp專家

十進位制是每加10就進一位,而二進位制是每加2就進一位,低位在右高位在左。比方說,1001101這個二進位制數的值就相當於(從右往左)1+(0×2)+(1×2×2)+(1×2×2×2)+(0×2×2×2×2)+(0×2×2×2×2×2)+(1×2×2×2×2×2×2)=1+0+4+8+64=77。

所以,同理,十進位制轉化為二進位制就是看,本來以10進位的數字,表示成以2進位的數字,怎麼計算?反過來呀:77/2=38餘1,這個1就是二進位制1001101最右邊的那個1;(77-1)/(2×2)=19餘0,這個0就是二進位制1001101右數第二位的那個0;(77-1)/(2×2×2)=9餘1,這個1就是二進位制1001101右數第三位的那個1;(77-1-1)/(2×2×2×2)=4餘1,這個1就是二進位制1001101右數第四位的那個1;以此類推。

為什麼十進位制轉二進位制要用十進位制除以二取餘數,為什麼還要把餘數從下到上倒過來寫

3樓:匿名使用者

這是因為權重的原因!二進位制第n位的權重為2的n次方,所以由十進位制求二進位制時就要不斷的除以2,先求出來的餘數是低位的,後求出來的是高位的。

因此,最後需要將每次取的餘數倒過來,即是二進位制的數。

4樓:匿名使用者

二進位制數只有0和1,這是計算機能夠識別的數值

十進位制轉二進位制中的乘二取整是什麼意思 為什麼 有什麼需要注意的麼

5樓:菩提樹下發巨集願

乘2取整,順序排列。是十進位制小數轉換為二進位制的方法。

十進位制轉二進位制是遵從以下規則:

1、將整數部分輾轉相除2,將餘數倒序排列,即整數部分的二進位制數。

2、將小數部分輾轉相乘2,將乘積的個位數部分正序排列,即小數部分的二進位制數。

推導過程如下:

1、十進位制0.25 從十進位制方式看,也就是  分數2/10  +  分數5/100 。

先看十進位制乘10(得2.5)的整數位得2,也就是十進位制的小數第一位(這裡你看到的2,其實是十分之二) 除去整數位,再乘10(得5), 就是小數位第二位(這裡你看到的5其實是一百分之五) 。

2、十進位制0.25 從二進位制方式看,也就是  分數0/2   +  分數1/4 。

再看乘2(得0.5)的整數位得0,也就是二進位制的小數第一位(這裡你看到的0,其實是二分之零) 除去整數位,再乘2(得1),就是小數位第二位(這裡你看到的1其實是四分之一) 。

擴充套件資料

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

即整數部分和小數部分分開轉換,再通過小數點進行連線。其他進位制轉換也是如此。

6樓:匿名使用者

乘二取整是針對十進位制小數部分轉換為二進位制的方法,而整數部分為除二取餘,具體如下:

將整數部分輾轉相除2,將餘數倒序排列,即整數部分的二進位制數將小數部分輾轉相乘2,將乘積的個位數部分正序排列,即小數部分的二進位制數

例:將32.12轉換為二進位制數

整數部分:

32÷2=16餘0

16÷2=8餘0

8÷2=4餘0

4÷2=2餘0

2÷2=1餘0

1÷2=0餘1

將餘數倒序排列,為10 0000

小數部分:

0.12×2=0.24(個位0)

0.24×2=0.48(個位0)

0.48×2=0.96(個位0)

0.96×2=1.92(後續運算只取小數部分進行,若出現個位數,則對應的二進位制位數為1)

0.92×2=1.84(個位1)

0.84×2=1.68(個位1)

0.68×2=1.36(個位1)

接下來可以無限計算下去,取約數,小數部分為0.0001111所以32.12d=10 0000.0001111

7樓:雲淺宜裳

十進位制轉二進位制分整數和小數部分:十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:

用2整除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。如:0.

625=(0.101)b

0.625*2=1.25*****=取出整數部分10.

25*2=0.5*****===取出整數部分00.5*2=1**********取出整數部分1 此時商只剩0,停止。

十進位制轉化二進位制會有精度損失嗎,十進位制轉二進位制為什麼有時會存在誤差

因為在十進位制小數中除了特定的一些數值之外,絕大多數都無法用二進位制小數精確表達,所以很多情況下,十進位制小數轉換成二進位制小數是會有精度損失的。十進位制轉二進位制為什麼有時會存在誤差 只有小數10轉2時存在誤差,不是所有的十進位制小數能完全轉換成二進位制小數的,如 0.3d 約為 0.010011...

十進位制轉二進位制原理,十進位制轉二進位制的這方法的數學原理是什麼啊?求大神詳解!

用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 302 2 151 餘0 151 2 75 餘1 75 2 37 餘1 37 2 18 餘1 18 2 9 餘0 9 2 4 餘1 4 2 2 餘0 2 2 1 餘0 故二進位制為100101110 二進位制轉十進位制 從...

c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數

思路 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。即用2整除十進位制整數,可以得到一個商和餘數 再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。include stdi...