高低位交换
实现自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));
}
}