-
二进制 转换为 十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和
0b 1011 = 12^(1-1) + 12^(2-1) + 02^(3-1) + 12^(4-1)
= 1 + 2 + 0 + 8
= 11 -
八进制 转换为 十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和
0 234 = 48^(1-1) + 38^(2-1) + 2*8^(3-1)
= 4 + 24 + 128
= 156 -
十六进制 转换为 十进制
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和
0x 23A = 1016^(1-1) + 316^(2-1) + 2*16^(3-1)
= 10 + 48 + 512
= 570 -
十进制 转换为 二进制
规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制
34 = 0b 00100010 -
十进制 转换为 八进制
规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制
131 = 0 203 -
十进制 转换为 十六进制
规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制
237 = 0x ED -
二进制 转化为 八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制数
三位一组:000 -> 0, 111 -> 7
0b 11010101 = 0b 011 010 101
= 0 3 2 5
= 0 325 -
二进制 转换为 十六进制
规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数
四位一组:0000 -> 0, 1111 -> F
0b 11010101 = 0b 1101 0101
= 0x 13 5
= 0x D5 -
八进制 转换为 二进制
规则:把八进制数每一位,转成对应的一个3位的二进制数
0 237 = 0 2 3 7
= 0b 010 011 111
= 0b 10011111 -
十六进制 转换为 二进制
规则:把十六进制每一位,转成对应的一个4位的二进制数
0x 23B = 0x 2 3 B
= 0b 0010 0011 1011
= 0b 001000111011 -
八进制与十六进制之间的转换有两种方法
第一种:他们之间的转换可以先转成二进制然后再相互转换
第二种:他们之间的转换可以先转成十进制然后再相互转换
注:
a.以上开头和进制数之间的空格皆不存在,只是为了方便读阅
b.书写二进制时需要按四位数字一组的方式书写,缺的前面补0(一般化为十进制都是int型,4个字节32位,二进制准确书写方式为 00000000 00000000 00000000 00000000,最左边一位为符号位)