為什么python運行效率不高
為什么python~1=-2
uj5u.com熱心網友回復:
因為他使用C撰寫的,運行速度慢,都是現成的方法,就是方便好用。uj5u.com熱心網友回復:
就是~n=-(n+1)uj5u.com熱心網友回復:
在python中,用取反符號~得到的并不是我們想象中的結果,總結一下規律,就是 (取反后的值)= -(取反前的值)-1下面來分析一下,例如對1取反,1的8位二進制表示為:0000 0001 , 取反后的結果是:1111 1110, 對于計算機來說,二進制以1開頭表示的是負數, 所以這個1111 1110到底表示的是什么負值呢,想要知道這個值,可以求它的補碼,即先取反碼 :0000 0001, 再加1:0000 0010,說明 1111 1110 的原碼為 0000 0010 也就是正數 2, 所以 1111 1110代表的就是負數 -2
下面再舉個例如:對 -2 取反, -2的二進制表示為 2的補碼,即 0000 0010 > 1111 1101 > 1111 1110 ,-2的二進制就表示為1111 1110, 對它取反得到 0000 0001,顯而易見,取反后的值為1 , 所以 ~(-2)= 1 , ~1=-2
總結出來就是:(取反后的值)= -(取反前的值)-1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/86289.html
標籤:新技術前沿
上一篇:同時關聯兩張表進行條件查詢
