【发布时间】:2023-03-12 20:21:01
【问题描述】:
如何将无符号 8 位 PCM 流 (0-255) 转换为有符号 8 位 PCM 流 (-128-127)。是否像从每个无符号字节中减去 128 使 0 变为 -128 而 255 变为 127 一样简单?还是更复杂? 谢谢!
【问题讨论】:
-
也许你应该添加你想使用的编程语言的标签来解决这个问题。
如何将无符号 8 位 PCM 流 (0-255) 转换为有符号 8 位 PCM 流 (-128-127)。是否像从每个无符号字节中减去 128 使 0 变为 -128 而 255 变为 127 一样简单?还是更复杂? 谢谢!
【问题讨论】:
你为什么不试试呢? 在我看来应该足够了,但我不知道你使用的是什么语言。
使用有符号和无符号整数/字符时,请记住负值的内部表示是二进制补码。
最安全的方法是计算 signed int 大小以避免溢出。
【讨论】:
对于您在评论中发布的代码,减去 128 将反转之前的操作并为您提供签名数据。
【讨论】: