C语言新手 100.6化为二进制后转十六进制 怎么化

来源:百度知道 编辑:UC知道 时间:2024/09/27 17:26:01
把100.6化为二进制 64位双精度过程 然后怎么换成十六进制 还有 是在什么情况下要加1023啊 为什么要加

整数部分转换成二进制:
100/2=50...0
50/2=25....0
25/2=12....1
12/2=6.....0
6/2=3......0
3/2=1......1
1/2=0......1
合起来(从下到上)就是:1100100

小数部分转换成二进制:
0.6*2=1.2...1
0.2*2=0.4...0
0.4*2=0.8...0
0.8*2=1.6...1
0.6*2=1.2...1
...
合起来(从上到下)就是0.10011001...(按1001循环)

所以,把100.6化为二进制就是1100100.10011001...(按1001循环)

再转换成16进制,就是64.999...(按9循环)

什么情况下,都不需要加1023

100.6先转化成2进制
然后2进制结果
整数部分从小到大 每4一组计算成16进制(不够的补充0)
小数部分从小到大 每4一组计算成16进制(不够的补充0)
计算的时候需要考虑16进制的有效为数。

阁下是什么意思,要用C语言写出程序来吗?