(1)逐個輸出對應的十進位制,用空格隔開(高位到地位)(10』)
(2)輸出對應的十進位制數(10』)
(3)轉為二進位制,用4個位元組表示(10』)
例如:輸入a2
輸出:10 2
12200000000 00000000 00000000 01111010
思路:1)利用transfer(char ch)將單個字元乙個個的轉化為對應的十進位制,a和a對應數字10,b和b對應數字11,0-9字元對應數字0-9;
2)有了單個的十進位制數,從前往後累次相加,注意低下標的數字有更高的冪次,所以用t計數,賦初值len-1,用數學函式pow(12,t)表示12的t次方。
3)定義void todouble(int x)將十進位制轉換為4個位元組的二進位制,初始化為全零,又給定了固定輸出位元組,可避免填充零的麻煩。
**:
#include
#include
#include
#include
#include
using namespace std;
inttransfer
(char ch)
else
if(ch==
'a')
else
if(ch==
'a')
else
if(ch==
'b')
else
return x;
}void
todouble
(int x)
;//初始化為全零,又給定了固定輸出位元組,可避免填充零的麻煩
int i=31;
while
(x>
0&&i>=0)
for(
int i=
0;i<
8;i++
) cout<<
" ";
for(
int i=
8;i<
16;i++
) cout<<
" ";
for(
int i=
16;i<
24;i++
) cout<<
" ";
for(
int i=
24;i<
32;i++
) cout<
}int
main()
if(i==len-1)
t--;}
cout<
todouble
(sum)
;//在函式裡邊直接輸出更簡潔
}return0;
}
執行結果:
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...
八進位制轉二進位制
位 bit 一位二進位制數,又稱位元 位元組 byte 1b 8b 記憶體儲存的最小單元 字長 同一時間內,計算機能處理的二進位制位數 字長決定了計算機的運算精度,字長越長,計算機的運算精度就越高。因此,高效能的計算機,其字長較長,而效能較差的計算機,其字長相對要短一些。其次,字長決定了指令直接定址...
二進位制轉十進位制
二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...