我目前正在尝试写一个FLAC到WAV转码器作为一个练习在C++,我目前正在挣扎的措辞的FLAC格式有关比特排序。
下面是讨论排序的(小)部分:
所有在FLAC比特流中使用的数字都是整数;没有浮点表示.所有数字都是大号编码的。除非另有规定,所有数字都是无符号的。
这是否适用于位排序,以及字节排序?更具体地说,如果我读到7位值,我会得到最重要的第一位吗?
发布于 2019-10-15 14:44:27
位排序不应该成为一个问题,除非您使用的是位字段的struct (这是避免这样做的一个好理由)。
而且,每次只能读取一个字节的数据。如果要从字节中读取7位,则需要对字节值应用位掩码。
例如,如果一个字节包含高次位中的一个值,而另一个包含低阶7位中的一个值,则可以按以下方式提取它们:
field1 = (byte & 0x80) >> 7;
field2 = byte & 0x7f;https://stackoverflow.com/questions/58397036
复制相似问题