私は 516096x1 のベクトルを持っています。データ サンプルはすべて整数の 10 進数値であり、次のようになりますが、10 進数の列のみです。
(10進数)
1416
258
-258
2189
1545
それらを変数に格納しました。次に、その変数をバイナリ ファイルに書き込みます。問題は、変数をファイルに書き込むと、特定の値が誤って置き換えられることです。
私のコードは次のとおりです。
Samples = (all the 516096 samples)
fwrite(fid1, Samples, 'int16')
すべての整数を 16 進数で (16 進数エディターを使用して) ファイルに書き込みますが、8D に相当する 10 進数の整数に達すると、16 進数エディターで 3F に置き換えます。8Fは3Fに、81は3Fに変更。また、0A は 0D に置き換えられます。なぜMatlabはそうするのですか?int16 として読み込んで int16 として書きました。