字母A对应的是10以此类推
0b表示二进制的前缀
0表示八进制的前缀
十进制没有前缀
0x表示十六进制的前缀
-
二进制转换十进制:
从最低位(右边)开始,将每个位上的数提取出来,乘以二的(位数-1次方)然后求和。
0b1011=1*2的(1-1)次方+1*2的(2-1)次方+0*2的(3-1)次方+1*2的(4-1)次方=1+2+0+8=11
0b0100=0*2的(1-1)次方+0*2的(2-1)次方+1*2的(3-1)次方+0*2的(4-1)次方=0+0+4+0=4
-
八进制转换十进制:
从最低位(右边)开始,将每个位上的数提取出来,乘以8的(位数-1次方)
0236=6*8^0+3*8^1+2*8^2=6+24+128=158
0333=3*8^0+3*8^1+3*8^2=3+24+192=219
-
十六进制转换十进制:
从最低位(右边)开始,将每个位上的数提取出来,乘以16(位数-1次方)
0x23B=11*16^0+3*16^1+2*16^2=11+48+512=571
0x33D=13*16^0+3*16^1+3*16^2=13+48+768=829
-
十进制转换二进制:
将该数不断除以二,直到为0为止,然后将每部得到的余数倒过来
78=0b1001110
66=0b1000010
-
十进制转换八进制:
将该数不断除以8 ,直到为0为止,然后将每部得到的余数倒过来
111=0157
222=0336
-
十进制转换十六进制:
将该数不断除以16 ,直到为0为止,然后将每部得到的余数倒过来
222=0xDE
189=0xBD
-
二进制转换八进制:
从低位开始,将二进制数每三位一组,转换对应的八进制即可
0b10111011=10(2)111(7)011(3)=0273
0b01000100=01()000()100()=0104
-
二进制转换十六进制:
从低位开始,将二进制数每四位一组,转换对应的十六进制即可
0b11110111=1111(15(F))0111(7)=0xF7
0b01011110=0101(5)1110(14(E))=0x5E
-
八进制转换二进制:
将八进制每一位,转成对应的一个三位的二进制即可
0345=3(011)4(100)5(101)=0b011100101
0721=7(111)2(010)1(001)=0b111010001
11100101
-
十六进制转换二进制:
将十六进制每一位,转成对应的一个四位的二进制即可
0x34A=3(0011)4(0100)A(1010)=0b001101001010
0x21B=2(0010)1(0001)B(1011)=0b001000011011