![2fe1175172304bb145b0b78a14083f65.png](https://img-blog.csdnimg.cn/img_convert/2fe1175172304bb145b0b78a14083f65.png)
基础理念:
十进制符号:D
二进制符号:B
十六进制符号:H
十进制转二进制
1.除二倒取余法
例:17D转为10001B
首先把17除2,取出余数后继续除2直到0为止,此时余数分别是
第一次,1
第二次,0
第三次,0
第四次,0
第五次,1
从下往上取余数,为10001,求得10进制的17转成二进制为10001
这种方法也适用于十进制转为n进制方法,总结为:除n倒取余(n为进制数)
2.表格法
如下图所示
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
例:将210D转化为二进制
因为210=128+64+16+2
填涂至表格中,将128,64,16,2下写1,其余写0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
从左往右写,得出11010010,即为210D的二进制数
同样,表格法也可以用来转其他进制,原理即为权位相加
m^7 | m^6 | m^5 | m^4 | m^3 | m^2 | m^1 | m^0 |
---|---|---|---|---|---|---|---|
注:m为进制数
二进制转为十进制
方法:权位相加
例:100110B转为十进制
1*2^5+0*2^4+0*2^3+1*2^2+1*2^1+1*2^0=38
总结地简单些
当m位的n进制转为二进制时,其公式为
总和=第1位上的数字*n^(m-1)+第2位上的数字*n^(m-2)+……+第m位上的数字*n^0
16进制转换
16进制转为10进制或10进制转为16进制方法与上文相同,前者是权位相加,后者用除数倒取余法
重点在于16进制转换2进制
一般来说,最简单的是首先把16进制转化为10进制,再从十进制转换成二进制,或者二进制转成十进制,十进制转化为16进制。
不过,一位16进制数可以转化为四位数,表格如下
16进制 | 2进制 |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
A | 1010 |
B | 1011 |
C | 1100 |
D | 1101 |
E | 1110 |
F | 1111 |
按照这个表格计算,即可直接从16进制转化为2进制
但是注意用2进制转为16进制时,判断二进制数的位数是否能被4整除,如果不是,要在前面加0,直至位数为4的倍数为止
以上
注:个人整理,非专业。
BY:临风燕