【发布时间】:2014-03-27 13:47:51
【问题描述】:
我正在尝试使用“«”和“»”以及按位“与”和“或”(& 和 |)来反转无符号整数,但不知道如何做到这一点。
我已经拥有的;
int main(int argc, char** argv) {
unsigned int getal;
scanf("%i", &getal);
printf("%X\n", getal);
return 0;
}
用户输入:0xaabbccdd,现在输出:AABBCCDD,应该输出什么DDCCBBAA
我也试过了;
int main(int argc, char** argv) {
unsigned int getal;
unsigned int x;
scanf("%i", &getal);
int i;
for (i = 0; i < 32; ++i) {
getal <<= 1;
getal |= (x & 1);
x >>= 1;
printf("%X\n", getal);
}
return 0;
}
但结果完全不同。
【问题讨论】:
-
显示实际反转字符串的代码。
-
@Gone 你的意思是整数?
-
@nitish712: 是的仪式:)
-
一个int中有4个字节需要反转。所以不要颠倒这些位。