0

Wave ファイル (モノラル、16 ビット) があり、配列をその内容で埋めるプログラムを C で作成する必要があります。(ヘッダー情報だけでなく) ライブラリが使えないので、一から書く必要があります。

その後、ファイルに対してさまざまな操作を行うために、これを行う必要があります。(そのような正規化など...)

残念ながら、特に C では、この問題に関する競合情報は見つかりませんでした。

また、この種の問題を説明している情報源への参照も大歓迎です。

ありがとうございました!!!

4

1 に答える 1

0

一部の情報はビッグ エンディアンであり、その他の情報はリトルエンディアンです。

ウィキペディア(リトルエンディアンのバイト順)によると、これは当てはまりません。

私の質問は次のとおりです: データを解釈するとき、コードが実行されるプロセッサのタイプ (big e. または le) を気にする必要がありますか?? – ルカ P.

はい、そうする必要がありますが、そのような注意は、移植可能なプログラミングに限定される可能性があります。たとえば、リトルエンディアン順に格納された 2 バイトの符号付き値を取得するには、次のように記述できます。

value = 256*(int8_t)byte_array[i+1] + (uint8_t)byte_array[i];

これは、リトル エンディアン プロセッサでもビッグ エンディアン プロセッサでも機能します。

于 2014-07-09T12:48:28.307 に答える