进制
{lamp/}
对于整数,有四种表示方式:
(1) 二进制: 0,1 , 满2 进1
在golang中,不能直接使用二进制来表示一个整数,它沿用了c的特点。
(2) 十进制: 0-9 , 满10进1。
(3) 八进制: 0-7 , 满8进1,以数字0开头表示。
(4) 十六进制:0-9 及 A-F,满16进1,以Ox或OX开头表示。
此处的A-F不区分大小写。
{lamp/}
一、进制的图示
十进制 | 十六进制 | 八进制 | 二进制 |
---|---|---|---|
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 | 10 | 1000 |
十进制 | 十六进制 | 八进制 | 二进制 |
---|---|---|---|
9 | 9 | 11 | 1001 |
10 | A | 12 | 1010 |
11 | B | 13 | 1011 |
12 | C | 14 | 1100 |
13 | D | 15 | 1101 |
14 | E | 16 | 1110 |
15 | F | 17 | 1111 |
16 | 10 | 20 | 1OOOO |
17 | 11 | 21 | 10001 |
{lamp/}
二、进制转换的介绍
1.第一组(其它进制转换十进制)
(1) 二进制转十进制
规则:从低位开始(右边), 将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。
案例:将二进制: 1011转成十进制的数
(2) 八进制转十进制
规则:从最低位开始(右边的),将每个位的数提取出来,乘以8的(位数-1)次方,然后求和。
案例:将0123转成十进制的数
(3) 十六进制转十进制
规则:从最低位开始(右边的),将每个位的数提取出来,乘以16的(位数-1)次方,然后求和。
案例:将Ox34A转成十进制的数
{lamp/}
2.十进制转其它进制
(1).十进制转二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
案例:将56转成二进制
(2).十进制转八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。
案例:将158转成八进制
(3).十进制转十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。
案例:将356转成十六进制
{lamp/}
3.二进制转其它进制
(1).二进制转八进制
规则:将二进制数每三位一组(从低位开始组合),转成对应的八进制数即可。
案例:将二进制:11010101转成八进制
(2).二进制转十六进制
规则:将二进制数每四位一组(从低位开始组合),转成对应的十六进制数即可。
案例:将二进制:11010101转成十六进制
4.其它进制转二进制
(1).八进制转二进制
规则:将八进制数每1位,转成对应的一个3位数的二进制数即可。
案例:将0237转成二进制
(2).十六进制转二进制
规则:将十六进制数每1位,转成对应的一个4位数的二进制数即可。
案例:将Ox237转成二进制