【问题标题】:Access "N bits" of a double in C#?在 C# 中访问双精度的“N 位”?
【发布时间】:2012-10-19 09:32:28
【问题描述】:

我对 c# 有点陌生,我正在尝试检查双精度中前 18 位的状态。我怎样才能转换它并编写一个程序来检查?

【问题讨论】:

  • 先看看这个问题:stackoverflow.com/questions/2227376/…然后看看你是否还想做。
  • (我还没有找到一个 [good] 需要直接访问组成双精度的位.. 也可以将双精度写入八位字节流,然后将流作为一个序列访问位;注意字节顺序。)

标签: c# .net


【解决方案1】:

您应该知道您将获得的位将符合IEEE 754 standard for double-precision floating numbers。这些并不容易理解,就像int 中的位一样。无论如何,您可以通过BitConverter.DoubleToInt64BitsBitConverter.GetBytes 获得值(但要注意字节顺序),这取决于您是想使用bytes 还是long

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多