从键盘上输入一个长整型数,判断该长整型数的高16位所表示的有符号数及低16位所表示的有符号数的奇偶性
时间: 2023-05-14 17:04:45 浏览: 130
可以使用位运算来判断一个长整型数的高16位和低16位的奇偶性。具体做法是将该数的高16位和低16位分别与0x8000进行按位与运算,如果结果为0,则表示该位为偶数,否则为奇数。以下是示例代码:
```c++
#include <iostream>
using namespace std;
int main()
{
long long num;
cin >> num;
int high = (num >> 48) & 0xFFFF;
int low = num & 0xFFFF;
if ((high & 0x8000) == 0)
cout << "高16位为偶数" << endl;
else
cout << "高16位为奇数" << endl;
if ((low & 0x8000) == 0)
cout << "低16位为偶数" << endl;
else
cout << "低16位为奇数" << endl;
return 0;
}
```
注意,这里使用了long long类型来存储输入的长整型数,因为long long类型可以存储64位整数,而long类型只能存储32位整数。同时,需要使用位运算符号“>>”和“&”来获取高16位和低16位的值。
相关问题
从键盘上输入一个长整型数,判断该长整型数的高16位所表示的有符号数及低16位所表示的有符号数的奇偶性。
以下是Python代码实现:
num = int(input("请输入一个长整型数:"))
high_16 = (num >> 16) # 右移16位,得到高16位
low_16 = (num & 0xFFFF) # 与0xFFFF按位与,得到低16位
if high_16 & 0x8000: # 判断符号位
high_16 = -((high_16 ^ 0xFFFF) + 1) # 取反加一得到负数
if low_16 & 0x8000:
low_16 = -((low_16 ^ 0xFFFF) + 1)
if high_16 % 2 == 0:
print("高16位表示的有符号数为偶数")
else:
print("高16位表示的有符号数为奇数")
if low_16 % 2 == 0:
print("低16位表示的有符号数为偶数")
else:
print("低16位表示的有符号数为奇数")
用C语言从键盘上输入一个长整型数,判断该长整型数的高16位所表示的有符号数及低16位所表示的有符号数的奇偶性
```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,则为奇数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)