【问题标题】:How are real numbers represented in binary form?实数如何以二进制形式表示?
【发布时间】:2011-06-14 05:30:49
【问题描述】:

我需要在二进制文件中存储一个包含小数位(即 1.5)的数字,问题是当我想读取此文件时,我不知道如何将字节转换回数字,我知道对于整数,我只需要这样做:byte[0] << 24 | byte[1] << 16 | byte[2] << 8 | byte[3] 用于大端形式的 Int32。对于实数,该怎么做?

【问题讨论】:

  • 嗯,我知道 BitConverter 类,但我想这样做只是为了学习。

标签: c# binary bit-manipulation


【解决方案1】:

看看BitConverter 类。它包含将各种基本类型转换为字节数组和从字节数组转换的方法。这样你就不需要知道浮点数是如何用二进制表示的。

如果您确实想知道这一点,我认为floating-point 上的维基百科文章是了解它的好地方。

【讨论】:

    【解决方案2】:

    您不能将实数存储为位。告诉计算机数字是有符号还是无符号的数据也告诉它它支持的子整数精度级别。计算机做了一个简单的除法题。

    【讨论】:

    • “你不能将实数存储为位”..?它们什么都不是而是位。计算机中的一切都存储为位。这个答案没有意义。
    猜你喜欢
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多