申し訳ありませんが、この小さなことを検索したところ、以下のリンクに関連するものが見つかりましたが、何もわかりませんでした
float 値を格納する方法は、後でメモリ バッファに格納するために使用される unsigned char に 0.00895 を想定します。
その後、配列を読み戻す必要があり、メモリから読み返したいと考えています。
ありがとう
申し訳ありませんが、この小さなことを検索したところ、以下のリンクに関連するものが見つかりましたが、何もわかりませんでした
float 値を格納する方法は、後でメモリ バッファに格納するために使用される unsigned char に 0.00895 を想定します。
その後、配列を読み戻す必要があり、メモリから読み返したいと考えています。
ありがとう
これは必要ありませんmemcpy
...これは、float配列をメモリ内の別の場所のバッファにコピーする場合に役立ちます。本当に必要なのは、別のポインタ型を使用して文字配列を調べることだけです。
const size_t BUFSIZE = 4096;
char buffer[BUFSIZE];
float *f_buf = (float*)buffer;
バッファの先頭にフロートを1つ貼り付けるだけの場合は、次の2行のいずれかで問題ありません。
*f_buf = 0.00895;
f_buf[0] = 0.00895;
実際に行っているのは、バッファをfloatの配列として表示できるようにすることだけです。
int i;
/* Put a bunch of floats into the buffer */
for( i = 0; i < 10; i++ ) {
f_buf[i] = i / 2;
}
/* Display contents of buffer in hex */
for( i = 0; i < 10 * sizeof(float); i++ ) {
printf( "%02x", (int)buffer[i] );
}
printf( "\n" );
/* Sanity-test the buffer contents */
for( i = 0; i < 10; i++ ) {
printf( "%d: %f\n", i, f_buf[i] );
}
float のメモリを char バッファにコピーできます。
float a;
char buffer[sizeof(float)];
memcpy(buffer,&a,sizeof(float));