将十进制数147.32分别转换为二进制数、八进制数和十六进制数。保留3位小数

2024-12-02 03:01:02
推荐回答(2个)
回答1:

因为要求保留3位小数,十六进制数的3位小数就相当于二进制数的12位,故,
选定二进制数小数部分的位数为12位,那么需要乘以4096(2^12)进行整数化。

(147.32)10*(2^12)10
=(147.32)10*(4096)10
=(603422.72)10
取整数部分铅段,
>(603422)10
=(9351E)16
=(1001 0011 0101 0001 1110)2
因为最初乘了4096,即2的12次方,所以换算成二进制时应右移十二位,
即最终结果等于(10010011.010100011110)2。

PS:为什么要换算成十六进制?一个十六进制数就等于四个二进制位,一次性就计算了四个二进制位的结果,这当然是相对比较有效率的做法。

一个八进制数就等于三槐如誉个二制位,
所以(10010011.010100011110)2可按每三位橡前进行一次分割,缺的位补零
即:(010 010 011.010 100 011 110)2=(223.2436)8

一个十六进制数就等于四个二制位,
所以(1001 0011.0101 0001 1110)2可按每四位进行一次分割,缺的位补零
即:(93.51E)16

回答2:

二进制运知:指余10010011.0101000111101011100001010001111
八进制:223.243656050753412174
十六唯悄滚进制:93.51EB851EB851F