十進位制轉二進位制的筆算過程

2021-10-22 12:17:05 字數 641 閱讀 9647

好多年前學過十進位制轉二進位制的筆算過程,不過一直都沒機會用上,很快就忘記了,最近因工作原因有幾次需要做進製轉換的計算,懶得上網查就根據記憶中模糊的印象瞎推導,搞著搞著就搞出了這樣的推導方式,如圖:

最右邊的是需要轉換的十進位制數123、8,每乙個左邊的數是右邊數除以2後得到的正整數,每乙個下邊的數其實不用太關注,但是偏偏又不能輕易忽略(因為當橫線上面的數除以2之後,除得盡的話就是0,除不盡的話就是1),直到左邊為1.

所以這個計算過程就是

1、以最右邊橫線上方的十進位制數值a1為起點;

2、若a1除以2能除盡的話,則a1下邊的數值a2為0,否則a2為1;

3、a1左邊a3等於(a1-a2)/2;

4、若此時a3小於1,則計算結束(結果為最左邊的數和所有下邊的數逐個拼起來),否則以此時的a3作為新的a1套入步驟1234中。

呵呵,剛寫到這裡就忽然發現假如將上面步驟1234中的2換成了其他 - _ - b......貌似也可以呵。呵呵!嗝!

過幾天我發個進製轉換**出來。

對比之後發現,雖然跟學校老師教的差別不大,怎麼說呢,起碼不需要將結果反過來串起,好歹也算是自己的乙份小成績,發文記錄一下。

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...

十進位制轉二進位制

宣告 最後一種降冪法頗具魅力,而且與方法二有異曲同工之妙 十進位制轉二進位制的幾種方法 輸入 乙個無符號的十進位制整數 輸出 對應十進位制的二進位制顯示 例如 input 10,output 1010 方法一 除二取餘法 forinput 0 cout input 2 input 2 end 輸出順...