Go語言進制轉換


進制介紹

1.對於整數

  1. 二進制:0和1,滿2進1
  2. 十進制:0-9,滿10進1
  3. 八進制:0-7,滿8進1,以數字0頭
  4. 十六進制:0-9,A-F,滿16進1,以0x或0X開頭,A-F不區分大小寫
    • 0x21AF + 1 = 0x21B0

2.二進制轉十進制

  • 從最低位開始,將每個位上的數提取出來,乘以2位數-1,然后求和。

    將1011轉成10進制

    1 x 21-1 + 1 x 22-1 + 0 x 23-1 + 1 x 24-1 = 11

    十進制134轉十進制

    4 x 101-1 + 3 x 102-1 + 1 x 103-1 = 134

3.八進制轉十進制

  • 從最低為開始,將每個位上的數提取出來,乘以8位數-1,然后求和。

    0123轉換成十進制

    3 x 81-1 + 2 x 82-1 + 1 x 83-1 = 83

4.十六進制轉十進制

  • 從最低為開始,將每個位上的數提取出來,乘以16位數-1,然后求和。

    0x34A轉換成十進制

    10 x 161-1 + 4 x 162-1 + 3 x 163-1 = 842

5.十進制轉二進制

  • 將該數不斷除以2,直到商為0為止,然后將每步得到的余數倒過來,就是對應的二進制

    將56轉換為二進制:00111000(不夠8位高位補0)

    2|56 ---> 0
    2|28 ---> 0
    2|14 --> 0
      2|7 -- > 1
      2|3 -- > 1
         1 -- > 1

6.十進制轉八進制

  • 將該數不斷除以8,直到商為0為止,然后將每步得到的余數倒過來,就是對應的二進制

    將156轉換為八進制:0234

    8|156 ---> 4
      8|19 ---> 3
          2 --> 2

7.十進制轉十六進制

  • 將該數不斷除以16,直到商為0為止,然后將每步得到的余數倒過來,就是對應的二進制

    將356轉換為十六進制:0x164

    16|356 ---> 4
      16|22 ---> 6
            1 --> 1

8.二進制轉八進制

  • 將二進制數每三位一組(從低到高),轉成對應的八進制數即可

    將二進制:11010101轉成進制:0325

    11(3)   010(2)   101(5)

    1 --> 001
    2 --> 010
    3 --> 011
    4 --> 100
    5 --> 101
    6 --> 110
    7 --> 111
    8 --> 1000
    9 --> 1001
    10 --> 1010
    11 --> 1011
    12 --> 1100
    13 --> 1101

9.二進制轉十六進制

  • 將二進制數每四位一組(從低到高),轉成對應的八進制數即可

    將二進制:11010101轉成進制:0xD5

      1101(D)   0101(5)

10.八進制轉二進制

  • 將八進制數每一位,轉成對應的3位二進制數即可

    將八進制:0237轉成二進制:10011111

    2(010)  3(011)   7(111)

11.十六進制轉二進制

  • 將十六進制數每一位,轉成對應的4位二進制數即可

    將八進制:0x237轉成二進制:1000110111

    2(0010)  3(0011)   7(0111)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM