c++ float类型小端转大端存储

来源:互联网 发布:linux修改文件时间戳 编辑:程序博客网 时间:2024/06/05 08:37
#include <iostream>
#include <string.h>
 
using namespace std;
 
typedef unsigned int UINT;
typedef unsigned char UCHAR;
 
typedef union{
    float f;
    char c[4];
}FLOAT_CONV;


static float __ltobf(float data)
{
    FLOAT_CONV d1, d2;


    d1.f = data;
    d2.c[0] = d1.c[3];
    d2.c[1] = d1.c[2];
    d2.c[2] = d1.c[1];
    d2.c[3] = d1.c[0];
cout<<"num:"<<hex<<d2.c<<endl;
    return d2.f;
}


int main()
{
float d = 123;
float b = __ltobf(d);
int len = sizeof(float);
char *num = (char *) malloc (len);
memcpy(num, &b, len);
string a;
a.assign(num,len);
free(num);
   cout<<"num:"<<hex<<a<<endl;
    return 0;
}
原创粉丝点击