符号なし8ビットPCMストリーム(0-255)を符号付き8ビットPCMストリーム(-128-127)に変換する方法を教えてください。 0が-128になり、255が127になるように、符号なしバイトから128を減算するのと同じくらい簡単ですか?それとももっと複雑ですか? ありがとう!8ビット符号なしPCMを8ビット符号付きPCMに変換
答えて
なぜあなたはそれを試してみませんか? 私の意見では十分ですが、どの言語を使用しているのか分かりません。
負の値の内部表現は2の補数であることに注意してください。 オーバーフローを避けるため、最も安全なのはsigned int
サイズです。
私は書かなかったいくつかのコードを見ています。署名されていない署名に変換するのは変です。実際には、ここには次のようなものがあります: "signed char result =((符号付きchar)(x + 128))* 257;" (Cコード)。変数 "x"は "unsigned char"型で、変換するサンプルが含まれています。私はこのコードをまったく手に入れません。 * 257はどこから来たのですか?しかし、それは動作します! – Andy
よく257で乗算してから、チャンクサイズにクランプするのは1で乗算するようなので、うまくいくはずですが、257を残すことができます。元のプログラマーが0-1の範囲を拡大して問題を抱えたが、誰が知っているのだろうか? – Nobody
うん、何も変わらない* 257を残しているようです。ですから、これを削除して何も中断しないことを願っています。おそらく古代のコンパイラバグのいくつかの回避策でしたか? – Andy
コメントに投稿したコードについては、128を引いたものが前の操作と逆になり、署名されたデータが返されます。
- 1. オーディオPCMサンプルの符号なしshortを符号付きshortに変換する
- 2. Pythonバイトを「符号なし8ビット整数」に変換する
- 3. 16ビットpcmを8ビットに変換する
- 4. 32ビット符号なし "Real"データ型(2つの16ビット符号付きワードに分割)をjavascriptに変換
- 5. 符号付き32ビット整数を符号なし32ビット整数に変換する方法は?
- 6. Javascriptが8ビット符号なしjavascript配列を作成
- 7. 符号なし8ビット整数のビンジュム除算。 C
- 8. 5ビットの符号付き整数?
- 9. Int32から24ビット符号付き整数への変換
- 10. 符号なしの符号付き変換をJavaで逆
- 11. GSM 8ビットデータ符号化
- 12. 2つの16ビット符号付きバイトから符号付き整数を取得しますか?
- 13. 符号付きバイトを符号なしハーフバイトにする
- 14. JNLP:符号付きコード内に符号なしコードをロード
- 15. 16ビット符号付きワードのみの演算
- 16. 26ビットの符号なし整数の大きな配列
- 17. Pythonを使って8ビットの符号なし整数をファイルに書き込む方法は?
- 18. 8ビットから16ビットへの変換
- 19. 符号付き16進数減算対符号なし
- 20. 裸の `char32_t`は符号付きか符号なしですか?
- 21. 符号なし整数から符号付き整数への変換または逆の変換
- 22. 符号付き文字配列を符号なし整数に変換できますか?
- 23. 64ビット符号化テキストの3Desを復号する
- 24. 符号なしchar * single_charのビット表現を表示します。
- 25. AdaからC++へ:符号なし64ビット値を渡す
- 26. mysqlでnビットの符号なし整数を表す
- 27. Cの符号付きchar []をunsigned char []に変換します
- 28. 64ビットマシンでの符号なし128ビット除算
- 29. PHPのビット単位および符号なしint演算
- 30. RGB565をグレースケール(8ビット)に変換する
この問題を解決するために使用するプログラミング言語のタグを追加する必要があります。 – Nobody