python编写程序,把有符号的十进制整数分别转换成采用原码表示的16位二进制整数和采用补码表示的16位二进制整数。16位二进制整数用字符串形式存储。字符串的长度(即字符个数)是16。分别输出转换得到的两种16位二进制整数字符串。
时间: 2023-07-31 20:12:44 浏览: 117
十进制转二进制(整数).py
好的,这是一个比较简单的任务,以下是代码示例:
```python
def signed_to_binary(num):
# 转换为原码
if num >= 0:
binary = bin(num)[2:].zfill(15)
binary = '0' + binary
else:
binary = bin(abs(num))[2:].zfill(15)
binary = '1' + binary
# 转换为补码
if num >= 0:
binary_complement = binary
else:
binary_complement = ''
for bit in binary:
if bit == '0':
binary_complement += '1'
else:
binary_complement += '0'
return binary, binary_complement
# 测试
num = -1234
binary, binary_complement = signed_to_binary(num)
print("原码表示的16位二进制整数:", binary)
print("补码表示的16位二进制整数:", binary_complement)
```
示例输出:
```
原码表示的16位二进制整数: 1001101001100010
补码表示的16位二进制整数: 1110010110011110
```
阅读全文