= = = = = 进制及相互转换 = = = = =
一、进制介绍:
对于整数,有四种表示方式:
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
以上。
如果内容对你有一点帮助的话不要忘了点个赞呀~