将十进制浮点数转换为二进制

时间:2014-09-29 19:41:55

标签: language-agnostic floating-point binary decimal

任何人都可以帮我转换数字(例如)143,625到二进制吗?我一直在网上搜索很长一段时间,但没有找到任何有良好解释的东西。

提前致谢!

1 个答案:

答案 0 :(得分:2)

整数部分可以通过重复除以2并跟踪余数来完成:

143/2 = 71余数1

71/2 = 35余数1

35/2 = 17余数1

17/2 = 8余数1

8/2 = 4余数0

4/2 = 2余数0

2/2 = 1余数0

1/2 = 0余数1

所以整数部分是10001111

对于小数部分,重复乘以2并查看结果的整数部分:

.625 x 2 = 1.25 - 我们需要整数部分,即1 - 到目前为止我们有0.1,然后我们忽略1并看0.25

0.25 x 2 = 0.5 - 到目前为止我们有0.10,我们看0.5

0.5 x 2 = 1.0 - 我们有0.101,没有小数部分,所以我们很好。

整数是整数部分+小数部分,所以10001111.101