69,382
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
unsigned int a = 0xAE007845, b, i;
char buf[16], ch;
snprintf(buf, sizeof(buf), "%X", a);
for (i = 0; i < strlen(buf) - 1; i += 2) {
ch = buf[i];
buf[i] = buf[i+1];
buf[i+1] = ch;
}
cout<<buf<<endl;
sscanf(buf, "%X", &b);
printf("%X --> %X\n", a, b);
cout<<a<<b<<endl;
return 0;
}
作为一个参考吧
方法可能多种,具体用哪种要根据实际使用场景。#include<stdio.h>
unsigned int myswap(unsigned int x);
int main()
{
unsigned int a = 0xAE007845, b;
b = myswap(a);
printf("a=%x, b=%x\n", a, b);
return 0;
}
unsigned int myswap(unsigned int x)
{
int i, size = sizeof(x);
unsigned int result;
char *px = (char *)&x, *pr = (char *)&result;
for (i = 0; i < size; i++)
pr[i] = (px[i] & 0x0f) << 4 | (px[i] & 0xf0) >> 4;
return result;
}