= = = = = 进制及相互转换 = = = = =

一、进制介绍:
对于整数,有四种表示方式:
1、二进制:0,1,满2进1。以0B或0b开头。
例:int n1 = 0b1010;

2、十进制:0-9,满十进一。
例:1010;

3、八进制:0-7,满8进一,以数字0开头表示。
例:01010;

4、十六进制:0-9及A(10)-F(15),满16进一。以0x或0X开头表示。.此处A-F不区分大小写。
例:int n4 = 0x10101;

二、进制转换
可分为四组
第一组:
1.二进制转十进制
2.八进制转十进制
3.十六进制转十进制

第二组:
1.十进制转二进制
2.十进制转八进制
3.十进制转十六进制

第三组:
1.二进制转八进制
2.二进制转十六进制

第四组
1.八进制转二进制
2.十六进制转二进制

一、第一组其它进制转十进制
规律:从最低位(右边)开始,将每个位上的数提取出来,乘以目标进制数的(位数-1)次方,然后求和
例:
0b1101(二进制)转十进制:即1乘2的0次方 + 0乘2的1次方 + 1乘2的2次方 + 1 乘 2 的3次方
0x1101(十六进制)转十进制:即1乘16的0次方 + 0乘16的1次方 + 1乘16的2次方 + 1 乘 16的3次方

是几进制就用该位上的数 乘几的(位数 - 1 )次方,然后求和。

**二、第二组,十进制转其它进制(除几反向取余法)
转几进制就除以几,然后把
余数按倒序
的顺序组合即可。
1、例:十进制转二进制:13
13/2 = 6,余1
6/2 = 3, 余0
3/2 = 1,余1
1/2 = 0,余1、
倒序取余,结果为:0b1101
2、例:十进制转十六进制:88
88/16 = 5,余8
5/16 = 0,余5
倒序取余,结果为:OX58

第三组二进制转八进制、十六进制
1、二进制转八进制
规则:从低位到高位(从右到左),每三位为一组,然后按顺序写出对应的八进制即可

例:0b1101101转换为八进制
从低位到高位拆分成三位一组:
1 101 101
(1)(5) (5)
所以八进制为:0155

2、二进制转十六进制:
规则:从低位到高位(从右到左),每四位为一组,然后按顺序写出对应的十六进制即可

例:0b1110101111101100110 转换为十六进制
从低位到高位拆分成四位一组:
111 0101 1111 0110 1101
(7) (5) (F) (6) (D)
所以对应的十六进制为:0X75F6D

第四组八进制、十六进制转换为二进制
1、八进制转换为二进制(二进制转换为八进制反过来即可)
规则:将八进制的每一位都转成对应的一个 3 位的二进制
例:0267
2 6 7
(010) (110) (111)
所以结果为:0b10110111

2、十六进制转换为二进制(二进制转换为十六进制反过来即可)
规则:将十六进制的每一位都转成对应的一个 4 位的二进制
例:OX18DF61
1 8 D F 6 1
(0001) (1000) (1101) (1111) (0110) (0001)
所以结果为:OX1 1000 1101 1111 0110 0001

以上。
如果内容对你有一点帮助的话不要忘了点个赞呀~