最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中的取反操作符(~)

 更新時間:2023年03月25日 16:41:38   作者:王魚(Virgil)  
這篇文章主要介紹了python中的取反操作符(~),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python取反操作符

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

~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中,用取反符號~得到的并不是我們想象中的結果,總結一下規(guī)律,就是   (取反后的值)=  -(取反前的值)-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進階學習實時目標跟蹤示例詳解

    這篇文章主要為大家介紹了python進階學習實時目標跟蹤示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python 自定義異常和主動拋出異常(raise)的操作

    python 自定義異常和主動拋出異常(raise)的操作

    這篇文章主要介紹了python 自定義異常和主動拋出異常(raise)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • python中sympy庫求常微分方程的用法

    python中sympy庫求常微分方程的用法

    這篇文章主要介紹了python中sympy庫求常微分方程的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Python?數據可視化實現5種炫酷的動態(tài)圖

    Python?數據可視化實現5種炫酷的動態(tài)圖

    數據可以幫助我們描述這個世界、闡釋自己的想法和展示自己的成果,但如果只有單調乏味的文本和數字,我們卻往往能難抓住觀眾的眼球。而很多時候,一張漂亮的可視化圖表就足以勝過千言萬語
    2022-01-01
  • Python常用模塊logging——日志輸出功能(示例代碼)

    Python常用模塊logging——日志輸出功能(示例代碼)

    logging模塊是Python的內置模塊,主要用于輸出運行日志,可以靈活配置輸出日志的各項信息。這篇文章主要介紹了Python常用模塊logging——日志輸出的實例代碼,需要的朋友可以參考下
    2019-11-11
  • tensorflow實現簡單的卷積網絡

    tensorflow實現簡單的卷積網絡

    這篇文章主要為大家詳細介紹了tensorflow實現簡單的卷積網絡,使用的數據集是MNIST,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python使用tqdm模塊處理文件閱讀進度條顯示

    python使用tqdm模塊處理文件閱讀進度條顯示

    這篇文章主要為大家介紹了python使用tqdm模塊處理文件閱讀顯示進度條示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Python 進程操作之進程間通過隊列共享數據,隊列Queue簡單示例

    Python 進程操作之進程間通過隊列共享數據,隊列Queue簡單示例

    這篇文章主要介紹了Python 進程操作之進程間通過隊列共享數據,隊列Queue,結合實例形式分析了Python進程數據共享、隊列數據處理相關操作技巧,需要的朋友可以參考下
    2019-10-10
  • python實現字符串逆序輸出的幾種方法

    python實現字符串逆序輸出的幾種方法

    本文介紹了四種在Python中實現字符串逆序輸出的方法,每種方法都有其優(yōu)缺點,下面就來介紹一下如何使用,感興趣的可以了解一下
    2024-12-12
  • 基于python 凸包問題的解決

    基于python 凸包問題的解決

    這篇文章主要介紹了基于python 凸包問題的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評論

沿河| 湘乡市| 洛南县| 宜州市| 万盛区| 黄平县| 原阳县| 瑞安市| 曲松县| 金寨县| 阿克苏市| 定日县| 哈尔滨市| 额济纳旗| 兴宁市| 渭南市| 永胜县| 包头市| 隆化县| 吴江市| 澳门| 水城县| 离岛区| 毕节市| 凌云县| 当阳市| 龙江县| 靖远县| 资中县| 社旗县| 集贤县| 东丽区| 衡南县| 西贡区| 崇明县| 阿克苏市| 富裕县| 贵州省| 武强县| 冷水江市| 博爱县|