C 二进制char转换为float类型的数据

float f_real= 0.0f;

unsigned char block[4];


block[3]=pImgData[j*width*4+i*4+3];
block[2]=pImgData[j*width*4+i*4+2];
block[1]=pImgData[j*width*4+i*4+1];
block[0]=pImgData[j*width*4+i*4];


memcpy(&f_real, block, sizeof(float));

程序中,pImgData是读取的二进制char类型的图像数据,这里将其转换为float类型的数据

先定义一个类型的flaot数据,为四位;然后定义一个char数组与其对应

先将图像数据拷贝到数组里面,高位和低位对齐,四位为一个数据。然后通过memcpy将数组拷贝到float数据的空间中即可

因为计算机会自动将十进制和二进制,进行换算,因此不必细化考虑如何二进制转十进制和十进制转二进制的问题。

你可能感兴趣的:(C/C++)