c++ 大端模式切换小端模式
时间: 2023-08-03 14:14:36 浏览: 178
在C++中,可以使用以下代码将大端模式转换为小端模式:
```c++
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
void swap(char &a, char &b)
{
char temp = a;
a = b;
b = temp;
}
void convertEndian(char *data, int size)
{
for (int i = 0; i < size / 2; i++)
{
swap(data[i], data[size - i - 1]);
}
}
int main()
{
int num = 0x12345678;
char *data = reinterpret_cast<char *>(&num);
convertEndian(data, sizeof(num));
int result = *reinterpret_cast<int *>(data);
cout << hex << result << endl;
return 0;
}
```
这段代码将整型变量`num`的值从大端模式转换为小端模式。首先将整型变量的地址转换为`char`类型的指针,然后通过`convertEndian`函数将数据从大端模式转换为小端模式,最后将`char`类型的指针转换回整型变量即可。
如果要将小端模式转换为大端模式,只需要将`convertEndian`函数中的`for`循环中的`size / 2`改为`size - 1`即可。
阅读全文