2013年3月8日 星期五

[C++] float to bytes[4]

方法一:
float f = 15.0f;

BYTE *pByte=(BYTE *)&f;

char tmp[64];
sprintf(tmp,"%x %x %x %x",pByte[0],pByte[1],pByte[2],pByte[3]);

cout << tmp << endl; 

方法二:
struct sFloat
{
   union
   {
         float mf;
         BYTE data[4];
   };
};

sFloat f;
char tmp[64];
 
f.mf=15.0f;
sprintf(tmp,"%x %x %x %x",f.data[0] ,f.data[1],f.data[2],f.data[3] ); 
cout << tmp << endl;

結果:

 

沒有留言:

張貼留言