十進位制小數怎麼轉化成二進位制什麼時候停止,急求啊請會的人

2021-04-22 15:36:45 字數 1094 閱讀 3702

1樓:仁昌居士

十進位制小數

轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用內2乘十進位制小數,可以得到積,容將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

2樓:畫皮炫亮

什麼時候乘復2正好唯一,就停止。制

(**bai**於網路,侵du刪)

比如當上一位餘的zhi小數位為0.5,下面dao再乘就正好為1,此時所餘的小數部分已經全部轉化為0(1.0的0),就不必再乘了。b(-1)=0, b(-2)=1, b(-3)=1

所以(0.375)d=(0.011)b。(整數部分轉化除法倒序排列,小數部分乘法順序排列)

當然也不是每個十進位制的小數都可以轉化為有限的二進位制小數,比如十進位制小數0.64就無法用有限的二進位制數表示,計算下去會發現所餘的小數部分一直不會是0.5。

也就無法用有限的二進位制小數表示,這時候機器就會按記憶體大小而保留相應的位數。

3樓:嘻哈

將小數部分乘以2,取結果的整數部分為二進位制的一位。 然後繼續取結果的小數部分專乘2重複,一屬直到小數部分全部為0結束 (有可能遇到不停迴圈乘不盡的情況出現)

舉例:0.8125換成二進位制方法如下:

0.8125x2 = 1.625...1

0.625x2 = 1.25....1

0.25x2 = 0.5.....0

0.5x2 = 1 .....1

至此小數部分已經全為0 (1.0000..) ,所以十進位制0.8125對應二進位制的 0.1101

而乘不盡的無限迴圈二進位制小數舉個例子如十進位制的0.68, 你可以嘗試按上面的方法乘一下 :)

另外十進位制的整是用除2的方式的,想必你已經知道了。在換算時需要將整數部分用除2方式計算出,小數部分用乘2方式計算出,然後再用小數點接到一起作為二進位制的結果

4樓:

看你機器的定址的最大範圍了,有可以存32的機器,也有存64位的機器

輸入十進位制整數num轉化成二進位制字串輸出

十進位制數num轉換為 復二進位制數的 製為 bai include iostream du include bitset intmain 擴充套件資料 庫函式 中使用的比zhi特集 c是語言的zd類庫dao的副本,用於輕鬆管理一系列位元集,而不需要程式設計師自己編寫 除了訪問指定索引的位之外,位集...

E5DBOH就是十進位制轉化成二進位制,八進位制,十六進位制

樓主的題目有點問題。e5 若是合法的資料,它只能是十六進位制的數。e5 h 11100101 b 345 o 229 d e5也不是10進位制啊親 十進位制,二進位制還有八進位制,十六進位制中的d,b,o,h分別指什麼?這四個字母分別代表不同進位制的字尾 區別如下 d decimal 表示這個數是十...

把十進位制數197d轉化成二進位制八進位制和十六進位制

十進位制轉二進位制 十進位制數迴圈除2,餘數按順序排列就是二進位制數的低到高位 例如 197 2 98餘1,98 2 49餘0,49 2 24餘1,24 2 12餘0,12 2 6餘0,依次類推得出二進位制數由低位到高位排列的數 10100011,然後反過來就是十進位制數197對應的二進位制 110...