python 二进制、十进制转换
十进制转二进制
n:十进制数
tl:二进制字符串长度
ts:二进制字符串形式
def num2code(n):
if n > 0:
ts = bin(n)[2:]
tl = len(ts)
elif n < 0:
tn = (-n) ^ 0xFFFF
tl = len(bin(-n)[2:])
ts = bin(tn)[-tl:]
else:
tl = 0
ts = '0'
return tl, ts
二进制转十进制
ts:二进制数,字符串类型表示
def code2num(ts):
tl = len(ts)
if tl != 0:
n = int(ts, 2)
if ts[0] == '0':
n = n ^ 0xFFFF
n = int(bin(n)[-tl:], 2)
n = -n
else:
n = 0
return n