二、八、十六进制转十进制
整数转换:
整数部分,从右往左数,按权相加,权即为位权。
即最右边的数为0,往左以此为1,2,3.... 。或者从右往左数,第1位的位权为1-1,
第2 位的位权为 2-1.
第一种方法:
二进制转十进制
例:1001 1001=1*2º+0*2¹+0*2²+1*2³
=1+0+0+8
=9
该处是从右往左数的
八进制转十进制:
与二进制权位相同,只不过由于进制问题,2的几次方要换成 8的几次方
例:64 64=4*8º+6*8¹
=4+48
=52
526:
例:C874 C=12
C874=4*16º+7*16¹+8*16²+12*16³
=4+112+2048+49152
=51316
第二种方法:
这种方法其实就是先把数转为二进制,再由二进制转为十进制。
二进制转十进制:
例:1111
按照幂次方进行换算
那按照该图所示,二进制中的1111 对应的分别为 8 4 2 1
所以 1111转为十进制的结果等于 15
八进制转十进制
先把八进制转为二进制,再由二进制转为十进制例如:13
一个八进制数=3个二进制数,首先把 1和 3转为二进制数
1:001
3:011
13 转为二进制数为 001011,再把该二进制数转为十进制数为:11
所以八进制数13转为十进制数为 11
十六进制转十进制:
例如:A4 A=10
一个十六进制数=4 个二进制数,首先把A 和 4 转为二进制数
A:1010 4:0100
A4 转为二进制数为 10100100,再把该二进制数转为十进制数为:164
所以十六进制数A4 转为十进制数为 164
带小数转换:
整数部分依然按上述正常操作,点小数部分要从左往右数,指数为-1开始,以此为-2,-3...
二进制转十进制:
例:1010.1011 1010.1011
=0*2º+1*2¹+0*2²+1*2³+1*-1+0*2-2 +1*2-3 +1*2-4
=2+8+0.5+0.125+0.0625
=10.6875
例:56.14 56.14
=5*8¹+6*8º+1*8-1+4*8-2
=40+6+0.125+0.0625
=46.1875
十六进制转十进制:
例:A4.13 A4.13
=10*16¹+4*16º+1*16-1+3*16-2
=160+4+0.0625+0.01171875
=164.07421875
十进制转二、八、十六进制
Ø 我自己将十进制转换其他进制时,都是先把该数转为二进制,再由二进制转为其他进制
Ø 具体转为方法参考此图:
整数转换:
十进制转二进制:例:123
123=64+32+16+8+3
=01111011
十进制转八进制:例:123
先把123 转为二进制位 01111011,由三个二进制数等于 1个八进制数得出(从右往左数,
不足三位的前面补齐3位)
001 111 011=1 7 3
所以十进制转为八进制为173
十进制转十六进制:例:123
先把123 转为二进制位 01111011,由四个二进制数等于 1 个十六进制数得出(从右往左
数,不足三位的前面补齐4位)
00000111 1011=0 7 11=7b
所以十进制转为十六进制为 7b
小数转换:
十进制小数的转换成N 进制小数转为公式为:
- 用N 乘以十进制的小数部分,得到一个积
- 把积的整数部分取出,再用N 乘以该积的小数部分,得到新的积后
- 再将新的积整数部分取出,继续用N 乘以新积的小数部分
- 以此类推...反复进行
该图演示了123.11小数部分转为二进制小数部分的部分步骤,不完全。没有完全做完。