use*_*528 3 c floating-point unsigned-char
很抱歉问这个问题,但我搜索了这个小东西,发现了与以下链接相关的东西,但无法得到任何想法
如何将浮点值(假设 0.00895)存储到无符号字符,稍后用于存储在内存缓冲区中。
后来我需要读回数组并想从内存中读回。
谢谢
您不需要memcpy
这个...如果您将浮点数组复制到内存中其他位置的缓冲区中,这将很有用。您真正需要的只是使用不同的指针类型来查看字符数组。
const size_t BUFSIZE = 4096;
char buffer[BUFSIZE];
float *f_buf = (float*)buffer;
Run Code Online (Sandbox Code Playgroud)
如果您只想将单个浮点数粘贴到缓冲区的开头,则以下两行之一都可以:
*f_buf = 0.00895;
f_buf[0] = 0.00895;
Run Code Online (Sandbox Code Playgroud)
它真正做的只是让您将缓冲区视为浮点数组。
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] );
}
Run Code Online (Sandbox Code Playgroud)