python--基础知识点--90--负数存储
程序员文章站
2022-07-08 12:17:31
...
print(hex(2))
print(hex(-2))
print('*' * 30)
# python对数据的存储也是使用补码,与c不同的是一个数值占用的字节数是不确定的
a = -2 & 0xffffffff # a为-2的补码,从python存储的-2的补码中只截取低位的32位表示-2的32位补码
print(a) # 4294967295
print(hex(a)) # 0xfffffffe
b = ~(a ^ 0xffffffff) # 将-2的32位补码转换为python存储-2的补码形式。整个过程相当于低32位不变,高位全部变换位1
print(b)
print(hex(b))