在golang中
1 二進位制:0,1,滿2進1。在golang中不能直接使用二進位制表示乙個整數,這一點沿用的c語言的特性
2 八進位制:0-7,滿8進1。以數字0開頭表示
3 十進位制:0-9,滿10進1。
4 十六進製制:0-9及a-f,滿16進1。以0x或0x開頭表示,此處的a-f不區分大小寫
案例一:將二進位制數1011轉成十進位制的數
1//案例一:將二進位制數1011轉成十進位制的數
2 str :=`將二進位制數1011轉成十進位制的數:
3 將二進位制的每一位數字m乘以2的(位數n-1
)次方,然後將這些結果相加即得到其對應的十進位制數,拆解如下:
41011
5 = 1*2的(4-1)次方 + 0*2的(3-1) + 1*2的(2-1)次方 + 1*2的(1-1
)次方6 = 1*8 + 0*4 + 1*2 + 1*1
7 = 8 + 0 + 2 + 1
8 = 11
`9 decimalnum := 11
10fmt.println(str)
11 fmt.printf("
二進位制數 %b 轉成十進位制後為 %d \n
", decimalnum, decimalnum) //
二進位制數 1011 轉成十進位制後為 11
案例二:將八進位制數02456轉成十進位制的數
1 str =`將八進位制數02456轉成十進位制的數:2 將八進位制的每一位數字m乘以8的(位數n-1
)次方,然後將這些結果相加即得到其對應的十進位制數,拆解如下:
302456
4 = 2*8的(4-1)次方 + 4*8的(3-1)次方 + 5*8的(2-1)次方 + 6*8(1-1
)次方5 = 2*512 + 4*64 + 5*8 + 6*1
6 = 1024 + 256 + 40 + 6
7 = 1326
`8 decimalnum = 1326
9fmt.println(str)
10 fmt.printf("
八進位制數 %o 轉成十進位制後為 %d \n
", decimalnum, decimalnum) //
八進位制數 2456 轉成十進位制後為 1326
案例三:將十六進製制數oxa45轉成十進位制的數
1 str =`將十六進製制數oxa45轉成十進位制的數:2 將十六進製制的每一位數字m乘以16的(位數n-1
)次方,然後將這些結果相加即得到其對應的十進位制數,拆解如下:
3oxa45
4 = 10*16的(3-1)次方 + 4*16的(2-1)次方 + 5*16的(1-1
)次方5 = 10*256 + 4*16 + 5*1
6 = 2560 + 64 + 5
7 = 2629
`8 decimalnum = 2629
9fmt.println(str)
10 fmt.printf("
十六進製制數 %x 轉成十進位制後為 %d \n
", decimalnum, decimalnum) //
十六進製制數 a45 轉成十進位制後為 2629
C 十進位制轉其他進製
c 十進位制轉其他進製 開發工具與關鍵技術 c visualstudio在學習c 基礎過程中,接觸到進製轉換,個人想要嘗試一下用c 來寫乙個進製轉換,這篇文章主要內容是十進位制轉其他進製,現在的進製有十六進製制 十進位制 八進位制 二進位制。我們先來看 include include using n...
m進製轉十進位制
題目描述 description 將m進製數n轉化成乙個十進位制數 m 16 題目保證轉換後的十進位制數 100 輸入描述 input description 共一行n和m 輸出描述 output description 共乙個數 表示m進製的n化成十進位制的數 樣例輸入 sample input ...
十進位制轉其他進製,含快速演算法
十進位制轉二制 public string dtob int d else int m new int s int i 0 do while c 2 b d.tostring for int j m.length 1 j 0 j return b 十進位制轉八進位制 public string dt...