19 Go 其他進製轉十進位制

2022-10-11 15:18:11 字數 1918 閱讀 6585

在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...