您的位置:首页 > 编程语言 > C语言/C++

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

2017-06-06 10:47 155 查看
#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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: