Go语言进制

一、进制介绍

对于整数,有四种表示方式:

  1. 二进制:0,1 满2进1
  2. 八进制:0~7 满8进1
  3. 十进制:0~9 满10进1,以数字0开头表示
  4. 十六进制:09及AF 满15进1,以0X或0x开头表示。此处的A~F不区分大小写

进制图示:

十进制 十六进制 八进制 二进制
0 0 0 0
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
6 6 6 110
7 7 7 111
8 8 010 1000
9 9 011 1001
10 0xA 012 1010
11 0xB 013 1011
12 0xC 014 1100
13 0xD 015 1101
14 0xE 016 1110
15 0xF 017 1111
16 0x10 020 10000
17 0x11 021 10001

二、进制转换

1.其他进制转十进制
二进制转十进制

规则:从低位开始(右边的),将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和
例如:将二进制1011转成十进制

二进制 十进制
1011 1 * 2º + 1 * 2¹ + 0 * 2² + 1 * 2³ = 11
八进制转十进制

规则:从低位开始(右边的),将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和
例如:将八进制0123转成十进制

八进制 十进制
0123 3 * 8º + 2 * 8¹ + 1 * 8² = 83
十六进制转十进制

规则:从低位开始(右边的),将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和
例如:将十六进制0x34A转成十进制

十六进制 十进制
0x34A 10 * 16º + 4 * 16¹ + 3 * 16² = 842
2.十进制转其他进制
十进制转二进制

规则:将该数不断的除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制
例如:将56转成二进制
image
如上图所示56转成二进制是111000

十进制转八进制

规则:将该数不断的除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制
例如:将156转成八进制
image
如上图所示156转成八进制是0234

十进制转十六进制

规则:将该数不断的除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制
例如:将356转成十六进制
image
如上图所示356转成十六进制是0x164

3.二进制转八进制和十六进制

二进制转八进制

规则:将二进制数每三位一组(从低位开始组合),转成对应的八进制即可。
例如:将二进制11010101转成八进制
image
如上图所示二进制11010101转成八进制是0325

二进制转十六进制

规则:将二进制数每四位一组(从低位开始组合),转成对应的十六进制即可。
例如:将二进制11010101转成十六进制
image
如上图所示二进制11010101转成十六进制是0xD5

4、八进制、十六进制转二进制
八进制转二进制

规则:将八进制的每一位,转成对应的三位的二进制数即可
例如:将八进制0237转成二进制
image
如上图所示将八进制0237转成二进制是10011111

十六进制转二进制

规则:将十六进制的每一位,转成对应的四位的二进制数即可
例如:将十六进制0x237转成二进制
image
如上图所示将十六进制0x237转成二进制是1000110111

posted @ 2021-05-05 20:09  若雨蚂蚱  阅读(298)  评论(0编辑  收藏  举报