二进制,八进制,十进制,十六进制的相互转换
进制的各种转换方式
^ = 次方(2^2 = 2的2次方)
其他进制转十进制
二进制转十进制
规则:从最低位开始(右边的),将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和
案例:二进制:1011转成十进制的数
1011 = 1 * 2^0 + 1 * 2^1 +0 * 2^2 + 1 * 2^3
= 1+2+8
= 11
八进制转十进制
规则:从最低位开始(右边的),将每个位上的数提出来乘以8的(位数-1)次方,
然后求和。
案例:八进制:123转成十进制的数
123 = 3 * 8^0 + 2 * 8^1 + 1 * 8^2
= 3+16+64
= 83
十六进制转十进制
规则:从最低位开始,将每个位上的数提出来,乘以16的(位数-1)次方,然后求和。
案例:十六进制:0x34A转成十进制的数
0x34A = 10 * 16^0 + 4 * 16^1 + 3 * 16^2
= 10+64+768
= 842
十进制转其他进制
十进制转二进制
规则:将该数不断除以2,直到商为0为止。然后将每步得到的余数倒过来,就是对应的二进制。
案例:将56转成二进制
56转成二进制为:111000
十进制转八进制
规则:将该数不断的除以8,直到商为0为止,然后将每步得到的余数倒过来。就是对应的八进制。
案例:将156转成八进制
156转成8进制为:0234
十进制转十六进制
规则:将该数不断除以16,直到商为0为止,然后没步得到的余数倒过来,就是对应的十六进制。
案例:将356转成十六进制
将356转成十六进制为0x164
二进制转其他进制
二进制转八进制
规则:将二进制数的每三位数一组(从低位开始组合),转成对应的八进制数即可。
(三位二进制数表示的最大八进制数是7)
案例:将二进制:11010101转成八进制
11010101
分组:
11 010 101
101 = 5
010 = 2
11 = 3
将二进制:11010101转成八进制为 0325
二进制转十六进制
规则:将二进制数的每四位数一组(从低位开始组合),转成对应的八进制数即可。
案例:将二进制:11010101转成八进制
11010101
分组:
1101 0101
0101 = 5
1101 = D
将二进制:11010101转成十六进制为 0xD5
其他进制转二进制
八进制转二进制
规则:将八进制数每一位,转成对应的一个3位的二进制数即可
案例:将0237转成二进制
7 = 111
3 = 011
2 =10
将0237转成二进制为:10011111
十六进制转二进制
规则:将八进制数每一位,转成对应的一个4位的二进制数即可
案例:将0x237转成二进制
7 = 0111
3 = 0011
2 =10
将0x237转成二进制为:1000110111
PHP转GO 菜鸟一枚,建了一个go语言微信交流群,欢迎各位大佬加入,加我微信 XU1014129578 拉群,暗号:gogogo
本作品采用《CC 协议》,转载必须注明作者和本文链接