符号なし 8 ビット整数のファイルを (バイナリ形式で) 読み込んでいます。これを float の配列に変換する必要があります。通常、私は次のようなことをするだけです:
uint8_t *s1_tmp = (uint8_t *)malloc(sizeof(uint8_t)*num_elements);
float *s1 = (float *)malloc(sizeof(float)*num_elements);
fread(s1_tmp, sizeof(uint8_t), num_elements, file_id);
for(int i = 0; i < num_elements; i++){
s1[i] = s1_tmp[i];
}
free(s1_tmp)
確かに刺激を受けていませんが、うまくいきます。ただし、現在num_elements
は約 270 万であるため、プロセスは非常に遅く、IMO では無駄です。
8 ビット整数を float として読み込むか、uint8_t
配列を float 配列に変換するより良い方法はありますか?