如何将字节值转换为小数?

2024-01-05

我正在尝试从文件中加载一些十进制值,但我无法找出获取原始值并将其转换为小数的正确方法。

我已将文件读入字节数组,每个四个字节块应该代表一个十进制值。为了帮助解决这个问题,我构建了一个表格,其中说明十进制值 1 到 46 如何表示为四个字节块。

例如,数字 1 显示为 0,0,128,63,数字 2 显示为 0,0,0,64,依此类推,直到 46,即 0,0,56,66。完整表格可用here http://dl.dropbox.com/u/635601/Example1.txt.

还有另一组数字,精确到小数点后三位并包含负数,即here http://dl.dropbox.com/u/635601/Example2.txt.

我拥有的唯一文档说明

它们首先存储最低有效字节:1、256、65536、16777216。这使得十六进制序列 01 01 00 00 变成数字 257(十进制)。在 C/C++ 中,读取例如一个浮点数,做:float x; fread(&x, sizeof(float), 1, fileptr);

不过,我正在使用 .NET 的 File.ReadAllBytes 方法,因此这没有太大帮助。如果有人能抽出几分钟时间查看示例文件,看看他们是否能找到将值转换为小数的方法,我将不胜感激。


您可以使用BitConverter.ToSingle http://msdn.microsoft.com/en-us/library/system.bitconverter.tosingle.aspx要从字节数组中读取浮点值,因此要获取浮点序列,您可以执行以下操作:

byte[] data = File.ReadAllBytes(fileName);
int count = data.Length / 4;
Debug.Assert(data.Length % 4 == 0);

IEnumerable<float> values = Enumerable.Range(0, count)
    .Select(i => BitConverter.ToSingle(data, i*4));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将字节值转换为小数? 的相关文章

随机推荐

  • Shiny DataTable:使用按钮扩展保存完整的 data.frame

    我正在将 DataTables 与 Shiny 一起使用 通过按钮扩展 用户可以下载或打印数据表中的数据 但仅下载 打印行的可见部分 我想改变这种行为 以便可以下载包含所有行的完整 data frame 这可以通过按钮扩展实现吗 还是我必须
  • jQuery AJAX 回调中抛出的异常被吞没?

    除了向每个回调添加 try catch 块之外 还有什么方法可以处理 jQuery 中 AJAX 回调引发的异常吗 在这种情况下不会调用错误函数 ajax url myurl rails success function data thro
  • 向通用 RecyclerView 适配器添加点击侦听器

    Edit 因为它是一个通用适配器 并不简单 而且我知道添加点击侦听器的方法 在以下情况下这样做并不是一个好的做法onCreateViewHolder 所以这就是为什么我需要更好的建议 我创建了一个RecyclerView 的通用适配器 in
  • 在没有序列化器的对象上使用 JSON.stringify 需要标记为实验性的

    在Android Studio中使用kotlin插件1 3 10 当我尝试将一个简单类的对象字符串化为 JSON 时 它不会编译 此声明是实验性的 其用法必须标有 kotlinx serialization ImplicitReflecti
  • r 检查软件包版本是否大于 x.y.z

    R 包的版本号如 1 97 1 我可以检查版本号是多少 packageVersion data table 在我的计算机上 返回 1 10 0 我想要做的是检查 data table 版本是否比 1 9 7 更新 因为 1 9 7 之后的版
  • PHP 和 Javascript 交互

    我需要在这里澄清一些事情 我有一个网站 每次在浏览器中重新加载该网站时 都会更新两个变量的值 该页面显然是一个 HTML 页面 但变量是通过 javascript 函数更新的 该页面在我的服务器上运行 PHP 可以检索这些变量的值并使用它们
  • 验证命名约定? C# [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 R 中使用 ggplot2 制作默认自定义主题

    当我尝试使用应用定制主题时ggplot2它会收到如下错误 Error in FUN text 1L Theme element text has NULL property family face size hjust vjust angl
  • 图像文件中的二维码解码器(反应本机)

    我正在寻找一种从反应本机 特别是ios 中的图像文件中解码二维码的方法 我知道世博会提供相机扫描仪解决方案 但我需要文件解码器 很感谢任何形式的帮助 您可以使用jsQR 库 https github com cozmo jsQR从图像文件中
  • 将元素与 HTML 表格单元格的底部对齐

    我的 HTML 表格的一个单元格中有多个元素 我希望一些元素与单元格的底部对齐 一些元素与顶部对齐 我无法让元素与底部对齐 我的桌子是 tr td style background color 007CE2 p test br anothe
  • 带有命名空间的 XML 文档上的 XPath

    我有这个带有命名空间的 XML 文档 并且我想使用 XPath 提取一些节点 这是文件
  • Azure 函数在 azure 门户上显示 0 次执行

    我是一个蔚蓝新手 我的设置如下 我有一个 IoT 中心 一个事件中心 一个 Azure 函数 其想法是将消息发送到 IoT 中心 根据某种消息类型将它们路由到事件中心 并使用该函数处理这些事件 我创建了一个示例控制台应用程序 用于将消息从我
  • Ionic 2 范围触摸事件

    我正在尝试在输入末尾使用 Ionic 2 获取范围滑块的值 In the 文档 http ionicframework com docs v2 api components range Range output events唯一可用的事件是
  • ReaderWriterLockSlim 什么时候比简单的锁更好?

    我正在使用这段代码对 ReaderWriterLock 进行一个非常愚蠢的基准测试 其中读取的频率比写入的频率高 4 倍 class Program static void Main ISynchro test new Locked new
  • 类名中有一个“+”?

    班级名称 MyAssembly MyClass MyOtherClass 问题显然是 作为分隔符 而不是传统的点 它的作用 并查找官方文档 看看其他分隔符是否存在 这就是嵌套类型的表示方式 例如 namespace Foo class Ou
  • ASP.NET API 无法在 Azure 上发布

    我正在尝试将 C API 发布到 azure 我遵循了中的所有步骤本文档 https learn microsoft com en us aspnet core tutorials publish to azure api manageme
  • 对于接近统一的值,浮点数学是否更精确?

    Question 我多次被告知 如果运算的数字接近于浮点运算 则浮点运算具有最高的精度 1 0 或者有时0 1 有没有道理呢 澄清 我所说的 算术 是指诸如a b a b a b 但是也sqrt x 和其他数学函数 具体来说 假设所有变量都
  • Python 中的 CRC16

    如何在Python中计算CRC16 在 Perl 中我会写这样的东西 use Digest CRC crc16 result crc16 str 我如何在Python中做同样的事情 这里有一个计算CRC16的库http pypi pytho
  • 如何检查数组的所有元素是否相同?

    即 验证 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 but not a 0 1 a 0 2 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 a 0 1 谢谢 count ar
  • 如何将字节值转换为小数?

    我正在尝试从文件中加载一些十进制值 但我无法找出获取原始值并将其转换为小数的正确方法 我已将文件读入字节数组 每个四个字节块应该代表一个十进制值 为了帮助解决这个问题 我构建了一个表格 其中说明十进制值 1 到 46 如何表示为四个字节块