符号なし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. 符号なしnビットと符号付きnビットの違いは?
- 7. Javascriptが8ビット符号なしjavascript配列を作成
- 8. C符号付きを符号なしに維持する正確なビット
- 9. 符号なし8ビット整数のビンジュム除算。 C
- 10. 24ビット符号付きデータ型
- 11. 5ビットの符号付き整数?
- 12. Int32から24ビット符号付き整数への変換
- 13. 符号なしの符号付き変換をJavaで逆
- 14. 32ビット符号なしオフセットをfseek
- 15. 符号なしchar []、ビットまたはバイト?
- 16. Clojureの符号なし16ビット整数
- 17. 8ビットの符号なし整数とHEXの失敗の比較
- 18. 2つの符号なし16ビット整数をPerlの符号付き32ビット整数に変換する方法
- 19. JavaScriptで符号付き16ビット整数に2バイトを変換する
- 20. GSM 8ビットデータ符号化
- 21. 符号なし16ビットと符号なし32ビット整数を符号なし8ビットメモリ配列に符号化するにはどうすればよいですか?
- 22. 2つの16ビット符号付きバイトから符号付き整数を取得しますか?
- 23. 32ビット符号なし整数の逆ビット
- 24. 5ビット符号付きバイナリをintにする
- 25. 32ビットプロセッサで符号付き整数と符号なし整数を使用して符号付き64ビット整数を作成する方法
- 26. Androidで符号なしint型符号付き整数への変換
- 27. u8バイトから7ビット符号付き整数を抽出
- 28. 16ビット符号付きワードのみの演算
- 29. JNLP:符号付きコード内に符号なしコードをロード
- 30. 符号付きバイトを符号なしハーフバイトにする
この問題を解決するために使用するプログラミング言語のタグを追加する必要があります。 – Nobody