In[1]:~TrueOut[1]:-2谢谢!!...
3 回答
SMILET
TA贡献1796条经验 获得超4个赞
因为,True的默认值为1
把True取反,也就是把1取反
因为python默认的是有符号表示数
1的二进制表示就是00000001
各位取反之后就是11111110
可见,取反之后,符号位从0变成了1,成了一个负数
而已1作为符号位开头,计算机会将其识别为补码
因为负数在机器中是以补码表示、补码转换真值的方式为补码的数值位,也就是除符号位之外的各位取反后加1。11111110除符号位取反后的值为10000001,再加1,便得到10000010,转换成十进制,便是-2
添加回答
举报
0/150
提交
取消