c++完成int,float,bool类型的数据从小端转换成大端
时间: 2024-03-07 09:48:40 浏览: 115
下面是C++代码示例,它可以将int,float和bool类型的数据从小端转换成大端:
```c++
#include <iostream>
#include <cstring>
using namespace std;
// 将int类型的数据从小端转换成大端
int little2big(int value)
{
int result;
char *p = (char *)&value;
char *q = (char *)&result;
q[3] = p[0];
q[2] = p[1];
q[1] = p[2];
q[0] = p[3];
return result;
}
// 将float类型的数据从小端转换成大端
float little2big(float value)
{
float result;
char *p = (char *)&value;
char *q = (char *)&result;
q[3] = p[0];
q[2] = p[1];
q[1] = p[2];
q[0] = p[3];
return result;
}
// 将bool类型的数据从小端转换成大端
bool little2big(bool value)
{
return value;
}
int main()
{
int a = 123456;
float b = 3.1415926;
bool c = true;
cout << "Before conversion: " << a << ", " << b << ", " << c << endl;
a = little2big(a);
b = little2big(b);
c = little2big(c);
cout << "After conversion: " << a << ", " << b << ", " << c << endl;
return 0;
}
```
在这个示例中,我们定义了三个函数`little2big`,分别用于将int,float和bool类型的数据从小端转换成大端。这些函数将数据的字节按照正确的顺序重新排列,然后返回转换后的值。在主函数中,我们测试了这些函数。
阅读全文