亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問python中為什么~True等于-2?另外除了~還有沒有其他取反操作符?

請問python中為什么~True等于-2?另外除了~還有沒有其他取反操作符?

慕碼人2483693 2018-07-04 09:09:37
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

查看完整回答
反對 回復 2018-07-30
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

不會啊。False是0,True是非0。所有非0,包括-2都是True

在你這個試例里True為1,所以~1就等于-2
~1取反后是-2
~0等于-1,

查看完整回答
反對 回復 2018-07-30
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

~(-2)是1
~(-2)是1
~(-2)是1
~(-2)是1
~(-2)是1

查看完整回答
反對 回復 2018-07-30
  • 3 回答
  • 0 關注
  • 1241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號