首页 理论教育 如何转换不同进制的数?

如何转换不同进制的数?

时间:2023-06-22 理论教育 版权反馈
【摘要】:例7-4 十进制数301转换为二进制数解 转换过程如下:即10=2例7-5 十进制数301转换为八进制数解 转换过程如下:即10=8例7-6 十进制数301转换为十六进制数解 转换过程如下:即10=162)小数部分的转换:将小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位;把得到的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;继续上一步,直到小数部分变成零为止;将所有整数部分由高到低排列即为新进制的小数部分。

如何转换不同进制的数?

1.数制表示方法

任意一个数N都可以表示成P进制数,即

式中 i——数的某一位;

Ki——第i位的数字,Ki=0,1,…,P-1;

P——基数;

Pi——第i位的权;

MN——正整数。

例如:任意数N可用十进制表示为

例7-1 (357.32)10

=3×102+5×101+7×160+3×10-1+2×10-2

又如:任意数N可用二进制数表示为

例7-2 (1101.011)2

=1×23+1×22+0×21+1×20+0×2-1+1×2-2+1×2-3

=1×23+1×22+1×20+1×2-2+1×2-3

再如,任意数N可用十六进制数表示为

例7-3 (3C.4)16

=3×161+12×160+4×16-1

2.数制转换方法

(1)十进制数转换为任意进制数

1)整数部分的转换:将整数部分除以新进制的基数,把余数作为新进制的最低位;把上一次得到的商再除以新进制基数,把余数作为新进制的次低位;继续上一步,直到最后的商为零,这时的余数就是新进制的最高位;将所有余数由高到低排列即为新进制的整数部分。

例7-4 十进制数301转换为二进制数

转换过程如下:

即(301)10=(100101101)2

例7-5 十进制数301转换为八进制

转换过程如下:

即(301)10=(455)8

例7-6 十进制数301转换为十六进制数

转换过程如下:

即(301)10=(12D)16

2)小数部分的转换:将小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位;把得到的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;继续上一步,直到小数部分变成零为止;将所有整数部分由高到低排列即为新进制的小数部分。

例7-7 十进制小数0.6875转换为二进制小数(www.xing528.com)

转换过程如下:

即(0.6875)10=(0.1011)2

例7-8 十进制小数0.6875转换为八进制小数

转换过程如下:

即(0.6875)10=(0.54)8

例7-9 十进制小数0.6875转换为十六进制小数

转换过程如下:

0.6875×16=11.0 K-1=B

即(0.6875)10=(0.B)16

(2)任意进制数转换为十进制数 具体转换方法是:将其他进制数按权位展开,然后各项相加,即可得到相应的十进制数。

例7-10 八进制数100101101转换为十进制数

(100101101)2=1×28+1×25+1×23+1×22+1×20

=(256+32+8+4+1)10

=(301)10

例7-11 二进制数455转换为十进制数

(455)8=4×82+5×81+5×80

=(256+40+5)10

=(301)10

例7-12 十六进制数12D转换为十进制数

(12D)16=1×162+2×161+13×160

=(256+32+13)10

=(301)10

(3)二进制转换为八进制数 具体转换方法是:以二进制数的小数点为分界点,向左(向右)每三位取一组,接着将每组二进制按权相加,得到一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,所得数字就是所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时无法凑足三位,此时可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。

例7-13 二进制数10010.1101转换为八进制数

因(10010.1101)2=(010010.110100)2,则分组转换如下:

即(10010.1101)2=(22.64)8

(4)二进制转换为十六进制数 具体转换方法是:以二进制数的小数点为分界点,向左(向右)每四位取一组,接着将每组二进制按权相加,得到一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,所得数字就是所求的八进制数。如果向左(向右)取四位后,取到最高(最低)位时无法凑足四位,此时可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

例7-14 二进制数10010.1101转换为十六进制数

因(10010.1101)2=(00010010.1101)2,则分组转换如下:

即(10010.1101)2=(12.D)16

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈