我有这个面试问题-
在整数序列中交换字节
2
和字节。4
整数是一个4
字节宽,即 32 位
我的方法是使用char *pointer
和 atemp char
交换字节。为了清楚起见,我已经打破了这些步骤,否则可以考虑使用字符数组。
unsigned char *b2, *b4, tmpc;
int n = 0xABCD; ///expected output 0xADCB
b2 = &n; b2++;
b4 = &n; b4 +=3;
///swap the values;
tmpc = *b2;
*b2 = *b4;
*b4 = tmpc;
还有其他方法吗?