gpt4 book ai didi

C++读取(大端)二进制 float

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:49 24 4
gpt4 key购买 nike

<分区>

我有一个包含 n 个单精度值的二进制文件。我知道写入数据时使用的格式是大端格式。当我将数据读入浮点 vector (下面代码中的“mainvector”)时,默认情况下,数据是根据小端格式读入的。我使用以下方式读取数据:

ifstream inputfile("filepath",ifstream::in|ifstream::binary)
inputfile.read(reinterpret_cast<char*>(&mainvector[0]), n*4);
inputfile.close()

在 stackoverflow 本身上有很多关于字节序和转换的讨论。然而,这是我第一次不得不处理字节顺序问题,所有可用的信息都有些让人不知所措。在此过程中,我了解到字节是颠倒的(大端与小端)。

有没有我可以合并的单行代码,将我的二进制数据的默认小端处理方式更改为大端处理方式,或者后处理我的mainvector以获得原始数据?还是我需要手动反转每个 n 值的字节顺序?

更新:似乎没有针对此的单行代码。单独更改字节顺序是这样做的方法! Mats 和其他地方(例如 here)在这里讨论了如何做到这一点。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com