二进制,八进制,十进制,十六进制是我们常用的计算机数制,想来写写这么数制之间是如何转换的。
1.1十进制转换二进制
用十进制数除以2取余数。
如: 十进制数 100 转换 2进制
余数
100 % 2 = 50 0
50 % 2 =25 0
25 % 2 = 12 1
12 % 2 = 6 0
6 % 2 = 3 0
3 % 2 = 1 1
1% 2 = 0 1
那么把 余数从下往上 1 1 0 0 1 0 0 就是得到的 十进制数100 转换成二进制数后 就是 1100100了
1.2二进制转换成十进制数
二进制转换十进制就是 把二进制按 权 展开,然后相加获得的就是十进制数
(注释:权 ,位权就是进制的(位数-1)次冥, 比如 二进制数 10010 第5位数 的权 就等于 1 x 2^4 = 16);
那么我们将上面的 二进制数 1 1 0 0 1 0 0 转换成十进制是多少呢,
1 1 0 0 1 0 0
(1 x 2^6)+ (1 x 2^5 ) + (0 x 2^4) + (0 x 2^3) + (1 x 2^2) + (0 x 2^1) + (0 x 2^0) = 64 + 32 + 0 + 0 + 4 + 0 + 0 = 100
1.3 二进制和八进制之间的转换
二进制转换成八进制就是 从右往左,每三位2进制数按权展开相加得到一位八进制数,从右往左不够三位时补0.
比如: 1100100 转换成8进制数
001 100 100
(0*2^2+0*2^1+1*2^0) (1*2^2 + 0*2^1 + 0* 2^0) (1*2^2 + 0*2^1 + 0* 2^0) = 1 4 4
那么得到的 144 就是 二进制 1100100 的八进制数了。
1.4二进制和十六进制的转换
十六进制就有点特别了 我们知道十进制是 0 1 2 3 4 5 6 7 8 9 十位数字 那么十六进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 是用字母 A B C D E F来代替
二进制转换16进制 与 八进制相似,不同的地方是 16进制是从右往左 每4位二进制数的权相加得到一位16进制数。 依旧是不足补0
那么1100100 的16进制数等于多少呢。
01 1 0 0 1 0 0
(0*2^3 + 1*2^2 + 1*2^1 + 0*2^0) (0*2^3 + 1*2^2 + 0*2^1 + 0*2^0) = 6 4 那么64就是得到的16进制数了。
其实到这里,我们各个数制直接的转换都可以间接的通过转换成二进制数然后再转换成其他的数制。
2.十六进制和二进制的转换
也是通过除2 取余的方法 ,每个16进制位数 对应4个二进制数,不够的时候在左边补0 还比如我们刚才的 十六进制数 64
6 | 余数 | 4 | 余数 |
6%2=3 | 0 | 4%2=2 | 0 |
3%2=1 | 1 | 2%2=1 | 0 |
1%2=0 | 1 | 1%2=0 | 1 |
0110 0100 那么就得到了 01100100 的二进制数了。
十进制 和 八进制 十六进制之间的转换,
1.可以间接的通过二进制去转换成其他的进制。
或者 10进制转八进制 除8取余数
100 的八进制数
余
100 % 8 = 12 4
12 % 8 = 1 4
1 % 8 = 0 1
1 4 4 就是 八进制数了。
16进制同理, 除以10取余数
余数
100 % 16 = 6 4
6 % 16 = 0 6
64 就是转换的16进制数了。
上面是之前学习的时候了解的,然后自己再随手写下当做复习了,也希望能帮助到其他人。