完整代码如下
number=int(input("Enter an interger:"))
L=[]
if number<0:
mid=number*(-1)
else:
mid=number
while mid!=0:
L.append(mid%2)
mid=mid//2
if len(L)<32:
for i in range(32-len(L)):
L.append(0)
L.reverse()
if number<0:
L[0]=1
# print(L)
# 正数的补码输
if number<0:
for i in range(len(L)-1,0,-1):
if L[i]==1:
pos=i
break
for i in range(1,pos):
if L[i]==0:
L[i]=1
else:
L[i]=0
print(L)
counter = 0
for i in range(len(L)):
print(L[i], end='')
counter += 1
if counter % 4 == 0:
print(end=' ')
例如:输入3
输出为:0000 0000 0000 0000 0000 0000 0000 0011
输入:5
输出:0000 0000 0000 0000 0000 0000 0000 0101
首先将十进制数转化为二进制数
以67为例 67%2:1 67//2 33%2:1 33//2 16%2:0 16//2 8%2:0 8//2 4%2:0 4//2 2%2:0 2//2 1%2:1 1//2