用C语言从键盘上输入一个长整型数,判断该长整型数的高16位所表示的有符号数及低16位所表示的有符号数的奇偶性
时间: 2024-05-05 16:17:12 浏览: 81
C语言编一个程序完成64位数据(无符号)的加法,减法运算
4星 · 用户满意度95%
```c
#include <stdio.h>
int main() {
long int num;
printf("请输入一个长整型数:");
scanf("%ld", &num);
// 获取高16位和低16位的值
int high = (num >> 16) & 0xFFFF;
int low = num & 0xFFFF;
// 判断高16位所表示的有符号数的奇偶性
if ((high >> 15) == 0) {
printf("高16位所表示的有符号数为偶数\n");
} else {
printf("高16位所表示的有符号数为奇数\n");
}
// 判断低16位所表示的有符号数的奇偶性
if ((low >> 15) == 0) {
printf("低16位所表示的有符号数为偶数\n");
} else {
printf("低16位所表示的有符号数为奇数\n");
}
return 0;
}
```
需要注意的是,对于有符号数的判断,可以通过获取最高位的值来判断正负性,如果最高位是0,则为正数,如果最高位是1,则为负数。而奇偶性则可以通过获取最低位的值来判断,如果最低位是0,则为偶数,如果最低位是1,则为奇数。
阅读全文