我正在参加「掘金·启航计划」
1,十进制转换成二进制、八进制、十六进制
方法:使用十进制的数不断除以n(需要转换的进制类型,如二进制n=2、八进制n=8、十六进制n=16),直到商为0,然后从下往上取余数
十进制转换二进制:
18: 18/2 商为:9 余数:0
9/2 商为:4 余数:1
4/2 商为:2 余数:0
2/2 商为:1 余数:0
1/2 商为:0 余数:1
最终结果:十进制18 转换二进制:10010
十进制转换八进制:
18: 18/8 商为:2 余数:2
2/8 商为:0 余数:2
最终结果:十进制18 转换八进制:22
十进制转换十六进制:
18: 18/16 商为:1 余数:2
1/16 商为:0 余数:1
最终结果:十进制18 转换十六进制:12
2,二进制、八进制、十六进制转换成十进制
方法:每一位数乘以n(二进制n=2、八进制n=8、十六进制n=16)的a次方,a的值从0开始,每次递增1,然后把所有的数相加。
二进制转换十进制
10010: 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 18
八进制转换十进制
22: 2*8^1 + 2*8^0 = 18
十六进制转换十进制
12: 1*16^1 + 2*16^0 = 18
3,二进制转成八进制
方法:二进制数每三位一组,如果不满三位,自动补0,依次转换成十进制的数,然后所有十进制的数字从左往右组合在一起。
八进制转二进制只需要反过来就行,将八进制的每一个数字转换成三位二进制数字即可。
10010 = 010 010
010 转换成十进制 2 最终结果: 22
4,二进制转成十六进制
方法:二进制数每四位一组,如果不满四位,自动补0,依次转换成十进制的数,然后所有十进制的数字从左往右组合在一起。
十六进制转二进制只需要反过来就行,将十六进制的每一个数字转换成四位二进制数字即可。
10010 = 0001 0010
0001 转换成十进制 1,0010 转换成十进制 2 最终结果: 12
*** 负数(二进制高位是1 则为负数 0是正数)的情况下 二进制转十进制 取反加一 十进制转二进制 减一取反