进制间的转换
(1)2、8、16进制转换为10进制:
可以将2、8、16进制从左往右依次乘以进制数的0,1,2次幂等直至最高位。
例如:
0b0011 --> 1*2^0 + 1*2^1 + 0*2^2 + 0*2^3 = 1 + 2 =3
0o102 --> 2*8^0 + 0*8^1 + 1*8^2 = 2 + 64 = 66
0x10A --> 10*16^0 + 0*16^1 + 1*16^2 = 10 + 256 = 266
(2)10进制转换为2、8、16进制:
10进制整数转换成2、8、16进制整数通常采用除进制数取余法。由下往上就是各进制的值.
例如:
#10进制转换为2进制: 110 --> 110÷2=55...0 55 ÷2=27...1 27 ÷2=13...1 13 ÷2=6...1 6 ÷2=3...0 3 ÷2=1...1 110转换为2进制0b1101110 #10进制转换为8进制: 110 --> 110÷8=13...6 13 ÷8=1...5 110转换为8进制0o156 #10进制转换为16进制: 110 --> 110÷16=6...14 110转换为16进制0x6E
注意最后一次除法运算的结果是作为进制转换的高位,其余的余数作为剩下的bit位。
(3)2,8,16进制的相互转换:
(1)2进制转换成8进制: 例如:0b 1010 1011 1100 101 010 111 100 5 2 7 4 0b1010 1011 1100转换为8进制0o5274 (2)2进制转换成16进制: 例如:0b 1010 1011 1100 A B C 0b1010 1011 1100转换为16进制0xABC
(3)8进制转换成2进制: 例如:0o 5 2 7 4 101 010 111 100 0o5274转换为2进制0b1010 1011 1100
(4)8进制转换成16进制: 例如:0o 5 2 7 4 101 010 111 100 1010 1011 1100 A B C 0o5274转换为16进制0xABC
(5)16进制转换成2进制: 例如:0x A B C 1010 1011 1100 0xABC转换为2进制0b1010 1011 1100 (6)16进制转换成8进制: 例如:0x A B C 1010 1011 1100 101 010 111 100 5 2 7 4 0xABC转换为8进制0o5274