Go語言進位制與轉換

2020-07-16 10:05:09
常見進位制有以下幾種:
  • 二進位制:只有 0 和 1,Go語言中不能直接使用二進位制表示整數;
  • 八進位制:0-7,以數位 0 開頭;
  • 十進位制:0-9;
  • 十六進位制:0-9 以及 A-F,以 0X 開頭,A-F 以及 X 不區分大小寫。

任意進位制轉換為十進位制

二進位制轉十進位制:從最低位開始,每個位上數乘以 2 的位數減 1 次方然後求和。

1011 = 1*20 + 1*21 + 0*22 + 1*23 = 11

八進位制轉十進位制:從最低位開始,每個位上數乘以 8 的位數減 1 次方然後求和。

0123 = 3*80 + 2*81 + 1*82 + 0*83 = 83

其他進位制轉十進位制同理。

十進位制轉其他進位制

十進位制轉二進位制:不斷除以 2,直到 0 為止,餘數倒過來即可,如下圖所示: