高低位交换

实现自Matrix67!

//定义:32位的整数的前16位为高位,后16位为低位
//高低位交换
#include <stdio.h>

int main() {
int n;
while (scanf("%d", &n) != EOF) {
int s, s1, s2;
s1 = ((1 << 16) - 1) & n;
s2 = s1 ^ n;
s = (s1 << 16) | (s2 >> 16);
printf ("%d\n", s);
}
return 0;
}

 

//定义:32位的整数的前16位为高位,后16位为低位
//高低位交换
#include <stdio.h>

int main() {
int n;
while (scanf("%d", &n) != EOF) {
printf ("%d\n", (n >> 16) | (n << 16));
}
}

 

posted on 2012-04-05 12:18  Try86  阅读(444)  评论(0)    收藏  举报