gpt4 book ai didi

c++ - 位排序/字节顺序 flac 解码

转载 作者:行者123 更新时间:2023-11-30 16:12:12 26 4
gpt4 key购买 nike

我目前正在尝试编写一个 FLAC 到 WAV 转码器作为 C++ 练习,目前我在 FLAC 格式有关位排序的措辞方面遇到了一些困难。

这是讨论排序的(小)部分:

All numbers used in a FLAC bitstream are integers; there are no floating-point representations. All numbers are big-endian coded. All numbers are unsigned unless otherwise specified.

这是否适用于位排序和字节排序?更具体地说,如果我读取一个 7 位值,我会得到第 1 位的最高有效位吗?

最佳答案

位排序永远不会成为问题,除非您使用带有位域的struct(这是避免这种情况的一个很好的理由)。

此外,一次只能读取一个字节的数据。如果您想从一个字节中读取 7 位,则需要对字节值应用位掩码。

例如,如果一个字节在高位中包含一个值,在低位 7 位中包含另一个值,则可以按如下方式提取它们:

field1 = (byte & 0x80) >> 7;
field2 = byte & 0x7f;

关于c++ - 位排序/字节顺序 flac 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58397036/

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