我正在尝试在 C 中旋转十六进制数字。我遇到的问题是,每个循环。数字中出现更多的零。
这是我的代码:
int main (void) {
int hex = 0x1234ABCD;
for(int i=0; i<12;i++,hex <<=4){
printf("0x%04x %d ",hex,hex );
pattern(hex);
}
return 0;
}
我在这个站点上看到了一些其他代码,这些代码在班次中添加了 & 0x0F,但它对我不起作用。
这是我使用编译器的结果
0x1234abcd 305441741 0001 0010 0011 0100 1010 1011 1100 1101
0x234abcd0 592100560 0010 0011 0100 1010 1011 1100 1101 0000
0x34abcd00 883674368 0011 0100 1010 1011 1100 1101 0000 0000
0x4abcd000 1253888000 0100 1010 1011 1100 1101 0000 0000 0000
0xabcd0000 -1412628480 1010 1011 1100 1101 0000 0000 0000 0000
谢谢您的帮助。