亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中如何實(shí)現(xiàn)真正的按位取反運(yùn)算

 更新時(shí)間:2023年02月07日 15:08:55   作者:細(xì)雨黃雨潼  
按位取反是位運(yùn)算符,而位運(yùn)算符是應(yīng)用在兩個(gè)數(shù)的運(yùn)算上,會(huì)對數(shù)字的二進(jìn)制所有位數(shù)進(jìn)行從低到高的運(yùn)算,下面這篇文章主要給大家介紹了關(guān)于Python中如何實(shí)現(xiàn)真正的按位取反運(yùn)算的相關(guān)資料,需要的朋友可以參考下

文章面向?qū)ο螅簩υ砗途幊滩淮笥信d趣,只是需要用python實(shí)現(xiàn)一些運(yùn)算功能的非計(jì)算機(jī)學(xué)生或從業(yè)者。大佬慎看防止血壓拉高

運(yùn)算代碼

x=~x&0xFF

num是一個(gè)不大于255的十進(jìn)制正數(shù)(負(fù)數(shù)的我不需要,所以我也沒研究)

計(jì)算結(jié)果也是十進(jìn)制的數(shù)

&右邊的0xFF會(huì)決定計(jì)算結(jié)果的比特位。如果要得到正確的計(jì)算結(jié)果,兩邊的數(shù)據(jù)比特位應(yīng)該相同

例如1000對應(yīng)的十六進(jìn)制是0xFC17,16比特位的,這時(shí)候求反就應(yīng)該改成

x=~x&0xFFFF

實(shí)例說明

例如求58的反:

當(dāng)x大于255時(shí),想要得到正確的數(shù)字,就要修改一下代碼

把0xFF換成0xFFFF或者更高,取決于x這個(gè)數(shù)占用的比特位。

(C語言基礎(chǔ)會(huì)講的知識,數(shù)據(jù)精度問題)

總之就是&兩邊的比特位要對應(yīng)

**如果&右邊保持為0xFF,但x大于了255,得到的結(jié)果則只有低位(如下圖)
**

而實(shí)際上1000取反應(yīng)該得到的十六進(jìn)制表示是 ‘0xFC 17’

把完整的16比特位的FC17截?cái)嗍O?7

(之所以這里用十六進(jìn)制表示,是因?yàn)?amp;右邊對應(yīng)的是16進(jìn)制,這樣看會(huì)更清楚。實(shí)際上取反運(yùn)算是根據(jù)二進(jìn)制表示運(yùn)行的,那些也不重要,反正知道可以這樣算就OK啦?。?/p>

補(bǔ)充:Python的按位取反運(yùn)算符的簡單解析

Python的按位取反運(yùn)算符~的解釋是:

對數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?。~x 類似于 -x-1。

如a =61= 0b0011 1101,按位取反后的結(jié)果是:0b1100 0010=194,

可是Python中運(yùn)算結(jié)果并非如此,

輸出的~a的結(jié)果是:~a=62

這是怎么回事呢?

計(jì)算機(jī)中的符號數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼。三種表示方法均有符號位和數(shù)值位兩部分,符號位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位,三種表示方法各不相同。

在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示和存儲。原因在于,使用補(bǔ)碼,可以將符號位和數(shù)值域統(tǒng)一處理;同時(shí),加法和減法也可以統(tǒng)一處理。

另外,求負(fù)整數(shù)的補(bǔ)碼,將其對應(yīng)正數(shù)二進(jìn)制原碼表示所有位取反(包括符號位,0變1,1變0)后加1

這里用括號來表示符號位,0表示正數(shù),1表示負(fù)數(shù)。

a=61=(0)0b0011 1101,正數(shù)補(bǔ)碼

~a=(1)0b1100 0010,負(fù)數(shù)補(bǔ)碼,符號位為1表示這個(gè)代表一個(gè)負(fù)數(shù),我們要知道其表示的數(shù)值。

對應(yīng)負(fù)數(shù)原碼到補(bǔ)碼的轉(zhuǎn)換過程:

(1)數(shù)值部分先減一:0b1100 0001

(2)數(shù)值部分取反:0b0011 1110,數(shù)值部分62

加上符號則~a =-62= (1)0b0011 1110,負(fù)數(shù)原碼

總結(jié)

到此這篇關(guān)于Python中如何實(shí)現(xiàn)真正的按位取反運(yùn)算的文章就介紹到這了,更多相關(guān)Python按位取反運(yùn)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python請求http/https時(shí)如何設(shè)置失敗重試次數(shù)

    使用Python請求http/https時(shí)如何設(shè)置失敗重試次數(shù)

    這篇文章主要介紹了使用Python請求http/https時(shí)如何設(shè)置失敗重試次數(shù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 簡單的Python調(diào)度器Schedule詳解

    簡單的Python調(diào)度器Schedule詳解

    這篇文章主要介紹了簡單的Python調(diào)度器Schedule詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python如何使用raise拋出自定義異常

    python如何使用raise拋出自定義異常

    這篇文章主要介紹了python如何使用raise拋出自定義異常問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python?tkinter自定義實(shí)現(xiàn)Expander控件

    python?tkinter自定義實(shí)現(xiàn)Expander控件

    和其他成熟的GUI庫相比,tkinter的組件并不是太多,但在自定義組件這一點(diǎn)上,并不遜色于其他框架,下面小編就教大家如何自定義一個(gè)Expander控件吧
    2023-08-08
  • python實(shí)現(xiàn)簡單貪吃蛇小游戲

    python實(shí)現(xiàn)簡單貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Pyhon Flask框架:第一個(gè)Flask程序

    Pyhon Flask框架:第一個(gè)Flask程序

    這篇文章主要介紹了Flask搭建虛擬環(huán)境并運(yùn)行第一個(gè)flask程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • Python實(shí)現(xiàn)八皇后問題示例代碼

    Python實(shí)現(xiàn)八皇后問題示例代碼

    這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)八皇后問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Python+OpenCV實(shí)現(xiàn)定位二維碼

    Python+OpenCV實(shí)現(xiàn)定位二維碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和OpenCV實(shí)現(xiàn)定位二維碼功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Python著名游戲?qū)崙?zhàn)之方塊連接 我的世界

    Python著名游戲?qū)崙?zhàn)之方塊連接 我的世界

    讀萬卷書不如行萬里路,學(xué)的扎不扎實(shí)要通過實(shí)戰(zhàn)才能看出來,本篇文章手把手帶你模仿著名游戲——我的世界,大家可以在過程中查缺補(bǔ)漏,看看自己掌握程度怎么樣
    2021-10-10
  • pandas選擇或添加列生成新的DataFrame操作示例

    pandas選擇或添加列生成新的DataFrame操作示例

    這篇文章主要為大家介紹了pandas選擇或添加列生成新的DataFrame實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評論