明码-615
每一行即是一个汉字,把数组转换成二进制。
历尽波折写出的代码😢:
def biin(x):
if x >= 0:
s = "{:0>8}".format(bin(x)[2:]).replace('0', '-')
return s
else:
num = ['0' for _ in range(8)]
num[0] = '1'
for i in range(7):
if (((128+x)>>i)&1)==1:
num[8-i-1] = '1'
s = ''.join(num).replace('0', '-')
return s
for i in range(10):
l = list(map(int, input().split()))
byte = []
for k in l:
byte.append(biin(k))
for j in range(0, 32, 2):
print(byte[j], end='')
print(byte[j+1])
print('\n')
或者也可以不用python的bin()函数:
def biin(x):
if x >= 0:
num = ['0' for _ in range(8)]
for i in range(7):
if ((x>>i)&1)==1:
num[8-i-1]='1'
s = ''.join(num).replace('0', '-')
return s
else:
num = ['0' for _ in range(8)]
num[0] = '1'
for i in range(7):
if (((128+x)>>i)&1)==1:
num[8-i-1] = '1'
s = ''.join(num).replace('0', '-')
return s
for i in range(10):
l = list(map(int, input().split()))
byte = []
for k in l:
byte.append(biin(k))
for j in range(0, 32, 2):
print(byte[j], end='')
print(byte[j+1])
print('\n')
运行后得到的文字:
九的九次方等于多少?
print(9**9)