【问题标题】:IEEE -754 Floating Point ConversionIEEE -754 浮点转换
【发布时间】:2014-10-18 00:15:35
【问题描述】:

刚开始上一门新课程,但我无法掌握浮点转换。我们遇到了一个美元金额的问题,然后将其转换为二进制,然后转换为十六进制,然后转换为浮点数。如果我愿意,我可以在计算器中在线找到答案,但我需要帮助理解分数的逻辑性。

我可以为 ex 执行以下操作:842 到二进制(无分数),你将如何转换 272.10 之类的东西,或者类似的东西?然后如何进行浮点运算?

我的印象是你取 2,7,2,1,0 并在二进制值图表中运行它,对应于 0010、0111、0010、0001、0000.. 但这并不是最终的所有内容回答。

社区在 hex 方面为我提供了很多帮助,并让这一切变得简单,希望也能掌握这一点。感谢您提供任何分步帮助。

【问题讨论】:

  • 浮点数的存储方式与整数(整数)非常不同。通常存储符号、指数和尾数。维基百科对此有一个有用的部分:en.wikipedia.org/wiki/Floating_point#Internal_representation
  • 您提到的格式,即0010, 0111, 0010, 0001, 0000...,一般称为BCD(二进制编码数字),与浮点数不同。

标签: floating-point binary


【解决方案1】:

这是一个扩展评论,而不是一个完整的答案,只是解决“我的印象是你取 2,7,2,1,0 并在二进制值图表中运行它,对应于 0010、0111、0010, 0001, 0000.. 但这并不是最终答案的全部内容。”

如果您已经能够将十进制 842 转换为二进制,那么您一定注意到十进制和二进制都是位置系统。 “8”因为它的位置而贡献了八百,而不仅仅是八。

同样,十进制 272.10 中的“1”占总值的十分之一。要进行转换,您不仅必须将数字映射到它们各自的二进制表示,还需要通过基数的幂来映射它们的权重,十进制表示十,二进制表示二。

不幸的是,十分之一不能完全表示为终止二进制分数,因此 272.10 的任何基数 2 表示必须是近似值。这与将 1/3 表示为终止小数部分的问题相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2016-04-02
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多