中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中取反操作符怎么使用

發布時間:2023-03-25 17:20:34 來源:億速云 閱讀:115 作者:iii 欄目:開發技術

這篇文章主要介紹了python中取反操作符怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python中取反操作符怎么使用文章都會有所收獲,下面我們一起來看看吧。

    python取反操作符

    ~ : 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1 。

    ~x 類似于 -x-1

    1、計算依據

    • ①正數的原碼、反碼、補碼都是一樣的

    • ②負數的補碼為符號位不變,剩余位取反再加1

    • ③原碼求補碼: 取反,+1

    • ④補碼求原碼: 取反,+1

    • ⑤負數是以補碼存儲的

    • ⑥取反操作是在原碼上進行的

    • ⑦符號位,1表示負數,0表示正數

    2、例子

    ~(-2)

    首先你要知道 -2 在計算機里面的二進制形式,由⑤和②可知:

    • -2 原碼:1000 0000 0000 0010

    • -2 反碼:1111 1111 1111 1101 #符號位不變,各位求反

    • -2 補碼:1111 1111 1111 1110 #補碼 = 反碼 + 1

    1111 1111 1111 1110 就是-2在計算機里面的原型

    現在開始對他求反,符號位不變,

    按位取反: 0000 0000 0000 0001

    很明顯是一個正數,其原碼為其本身,所以輸出為1.

    ~2

    2 原碼,反碼,補碼: 0000 0000 0000 0010

    按位取反: 1111 1111 1111 1101

    這是一個負數該怎么辦?能直接求嗎?

    很顯然是不行的,⑥說了:取反操作計算結果是在原碼上進行的,⑤也說了:負數是以補碼存儲的

    1111 1111 1111 1101 是 0000 0000 0000 0010 的反碼,但我們想要的是結果,而不是在計算機里面的原型,

    恰好,④補碼求原碼: 取反,+1

    • 取反: 1000 0000 0000 0010

    • 加 1: 1000 0000 0000 0011

    于是,我們得到了原碼,可以計算結果了

    1000 0000 0000 0011 = -3

    總之,取反很簡單,但是要注意,取反后是不是原碼,是否可以直接計算結果

    python數值取反問題~

    在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

    關于“python中取反操作符怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python中取反操作符怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    浮山县| 綦江县| 吉林市| 合山市| 施秉县| 老河口市| 天等县| 栖霞市| 舒兰市| 炉霍县| 溧水县| 荔波县| 安丘市| 收藏| 民县| 龙门县| 象州县| 锦屏县| 成安县| 沁水县| 锡林浩特市| 庆安县| 青阳县| 濉溪县| 桃源县| 三门县| 兴化市| 磐石市| 景洪市| 罗江县| 扬州市| 类乌齐县| 康乐县| 广元市| 长葛市| 安福县| 阿拉善盟| 千阳县| 昌邑市| 东台市| 石渠县|