首页 > 代码库 > 进制转换(二进制、八进制、十进制与十六进制之间的相互转换)
进制转换(二进制、八进制、十进制与十六进制之间的相互转换)
1.十进制→二进制
方法一:
从右第n位 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
2n-1 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
十进制下的实际数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
23=16+4+2+1 | 1 | 0 | 1 | 1 | 1 | |||
36=32+4 | 1 | 0 | 0 | 1 | 0 | 0 | ||
49=32+16+1 | 1 | 1 | 0 | 0 | 0 | 1 |
计算出想要的数需要用哪一些数字相加,然后在其下写1,空余的用0表示;
方法二:
十进制数逐次整除2,直至商为0,所得余数按照相反的顺序写出,即为其二进制数。
示例:45写成二进制为101101
45逐次整除2的商 22 11 5 2 1 0
逐次整除2的余数 1 0 1 1 0 1
←←←←←←←←←←←←←←←←←←
把余数从右往左写,即为二进制数
2.二进制数→十进制数
计算公式:a*20+b*21+c*22+d*23+……+n*2(n-1)=
此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。
示例:101101写成十进制为45
1*20+0*21+1*22+1*23+0*24+1*25=45
3.十进制→八进制(同十进制→二进制)
从右第n位 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
8(n-1) | 87 | 86 | 85 | 84 | 83 | 82 | 81 | 80 |
十进制下的实际数 | 2097152 | 262144 | 32768 | 4096 | 512 | 64 | 8 | 1 |
十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数。
示例:45写成八进制数为55
4.八进制→十进制(同二进制→十进制)
计算公式:a*80+b*81+c*82+d*83+……+n*8(n-1)=
此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。
5.十六进制数:十六进制数为0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
(1)十进制→十六进制(同十进制→二进制)
示例:45写成十六进制数为2D
(2)十六进制→十进制(同二进制→十进制)
计算公式:a*160+b*161+c*162+d*163+……+n*16(n-1)=
此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。
6.二进制→八进制
示例: 二进制数 1 0 0 1 1 0 1 0 1
转八进制数 4 6 5
从二进制数右边起每三个数字所代表的十进制中的和为八进制数的一个数字,即二进制数100 110 101写成八进制数为465。
7.八进制→二进制
二进制→八进制的反过程(一位数拆成二进制的三位数)
示例:八进制数1735写成二进制数为1 111 011 101。
8.二进制→十六进制
示例: 二进制数 1001 0111 0111 1001
转十六进制数 9 7 7 9
从二进制数右边起每四个数字所代表的十进制中的和为十六进制数的一个数字,即二进制数1001 0111 0111 1001写成十六进制数为9779。
9.十六进制→二进制
二进制→十六进制的反过程(一位数拆成二进制的四位数)
示例:十六进制数8765写成二进制数为1000 0111 1001 0101
进制转换(二进制、八进制、十进制与十六进制之间的相互转换)