C——进制转化
八进制与十六进制
-
0 开头代表八进制,0666
-
0x 开头代表十六进制,0x19
二进制转化过程
-
二进制与八进制对应关系
-
每三个数字隔开,三个数字对应一个八进制的数,不足三个数字用0补
001 101 111 011 111 010 101 111 101 010 111 1 5 7 3 7 2 5 7 5 2 7
-
-
二进制与十六进制对应关系
-
每四个数字隔开,四个数字对应一个十六进制的数,不足四个数字用0补
0000 0110 1111 0111 1101 0101 1111 0101 0111 0 6 f 7 d 5 f 5 7
-
-
二进制与十进制对应关系
- 例如,1010
\[0*2^0+1*2^1+0*2^2+1*2^3=10 \]- 从个位数开始依次乘以 2 的 n 次幂,n 从 0 开始
十进制转化过程
-
转二进制,例如50转二进制
-
将2作为除数,取商数和余数,直到商数为0,将余数倒过来就是转化结果
-
最后结果:110010
- 2 25 0 - 2 12 1 - 2 6 0 - 2 3 0 - 2 1 1 - 2 0 1
-
-
转八进制,例如35转八进制
-
方法如上,除数变成了8
-
最后结果:43
- 8 4 3 - 8 0 4
-
-
转十六进制,例如50转十六进制
-
最后结果:32
- 16 3 2 - 16 0 3
-
结论
- 二进制用八进制和十六进制表现更为方便,这才是计算机不使用十进制的原因