二进制,八进制,十进制,十六进制的转换是作为程序员必须会的.其思想很简单,无外乎就是:
2进制遇2进1
8进制遇8进1
...
二进制与十进制转换:
二进制11111111转换为十进制:
1 1 111 1 1 1
1 2 4816 32 64 128 =255
二进制10101010转换为十进制:
1 0 101 0 1 0
1 0 408 0 64 0 =85
求96的二进制
96 = 64 + 32:
0 0 000 1 1 0=96
求57的二进制
57 = 32 + 16 + 8 + 1:
1 0 011 1 0 0=57
二进制与十六进制:
1 1 111 1 1 1
1 2 4810(16)20(32)40(62)80(128)=165 = FF
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
0x165 = 15 * 10 + 15 = F * 10 + F = FF
FF = 15 * 10 + 15 = 0x165 = 80 + 40 + 20 + 10 + 8 + 4 + 2 + 1
求0x96的二进制:
算法一:
96 = 9 * 16 + 6 = 150 先转换为十进制
150 = 128 + 16 + 4 + 2:
0 1 101 0 0 1=150(0x96)
算法二:
96 = 80 + 10 + 4 + 2
0 1 101 0 0 1=0x96
求0x57的二进制:
57 = 40 + 10 + 4 + 2 + 1
1 1 101 0 1 0=57
求AB的二进制:
AB = 10 * 16 + 11 = 171 需先转换为十进制
171 = 128 + 32 + 8 + 2 + 1
1 1 010 1 0 1
求BC的二进制:
BC = 11 * 16 + 12 = 188 需先转换为十进制
188 = 128 + 60 = 128 + 32 + 16 + 8 + 4
0 0 111 1 0 1
二进制与八进制
1 2 41020 40 100 200
127的二进制
127 = 100 + 20 + 4 + 2 + 1
1 1 101 0 1 0
对应表:
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 512 | 1024 |
1 | 2 | 4 | 8 | 10 | 20 | 40 | 80 | 100 | 200 |
1 | 2 | 4 | 10 | 20 | 40 | 100 | 200 | 400 | 1000 |
10进制对应二进制 (2^2)
16进制对应二进制 (循环1 2 4 8就行)
8进制对应二进制 (循环1 2 4就行)
计算
十进制379,4820的二进制
379 = 256 + 123 = 256 + 64 + 59 = 256 + 64 + 32 + 16 + 8 + 2 + 1
1 1 011 1 1 01
4820 = 4096 + 724 = 4096 + 512 + 212 = 4096 + 512 + 128 + 64 + 16 + 4
0 0 101 0 1 101 0 0 1
计算
ABCD的二进制
ABCD = A * 16 * 16 * 16 + B * 16 * 16 + C * 16 + D = 4096 * 10 + 2816 + 192 + 13 = 43981
略
求8进制 4567的二进制
4567 = 4000 + 400 + 100 + 40 + 20 + 3 + 2 + 1
1 1 101 1 1 010 0 1