读入一个10进制正整数,将其二进制向右进行循环移位,并输出移位后的结果。
时间: 2024-05-06 19:22:15 浏览: 100
十进制数转换成二进制
可以使用位运算符进行二进制移位操作。右移一位相当于除以2,左移一位相当于乘以2。
以下是Python代码实现:
```
num = int(input("请输入一个10进制正整数:"))
shift = int(input("请输入移位的位数:"))
# 将num转换为二进制字符串
binary_str = bin(num)[2:]
# 将二进制字符串向右移位
shifted_str = binary_str[-shift:] + binary_str[:-shift]
# 将移位后的二进制字符串转换为十进制整数
shifted_num = int(shifted_str, 2)
print("移位后的结果是:", shifted_num)
```
示例输出:
```
请输入一个10进制正整数:15
请输入移位的位数:2
移位后的结果是: 3
```
解释:15对应的二进制数是1111,向右移2位后变成0011,对应的十进制数是3。
阅读全文