左移沒區(qū)別;
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)徽州,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
右移: 有符號補(bǔ)符號位 (>>
); 沒符號補(bǔ) 0;
<<
表示 左移>>
表示 右移>>>
表示 無符號右移, 也叫邏輯右移無符號移位
, 左移<<<
和 右移>>>
都是補(bǔ)零無符號數(shù)除 2
)有符號數(shù)除 2
); 補(bǔ)碼剩余部分補(bǔ)符號位算術(shù)移位中, 實(shí)際設(shè)計硬件只實(shí)現(xiàn)了補(bǔ)碼的算術(shù)移位
, 所以右移符合上面的基本移位: 加符號位
The right shift in python is arithmetical. 只有算術(shù)右移
由于 Python 沒有無符號數(shù),因此它不包含無符號移位 (沒有>>>
)
tldr;
正數(shù)的補(bǔ)碼是本身;
0 的補(bǔ)碼是 0;
負(fù)數(shù)的補(bǔ)碼是: 符號位不變, 數(shù)據(jù)位取反, 再 +1 (不會溢出, 因?yàn)闀绯龅拇笾凳?-0, 反碼 11111111)
計算機(jī)中的有符號數(shù)有三種表示方法,即原碼 original code、反碼 inverse code 和 補(bǔ)碼 complement code
三種表示方法均有符號位和數(shù)值位兩部分,符號位都是用0表示“正”,用1表示“負(fù)”
而數(shù)值位,三種表示方法各不相同
在計算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示和存儲 (原因在于,使用補(bǔ)碼,可以將符號位和數(shù)值域 統(tǒng)一處理;同時,加法和減法也可以統(tǒng)一處理)
介紹在介紹補(bǔ)碼概念之前,先介紹一下“?!钡母拍睿骸澳!笔侵敢粋€計量系統(tǒng)的計數(shù)范圍,如過去計量糧食用的斗、時鐘等。計算機(jī)也可以看成一個計量機(jī)器,因?yàn)橛嬎銠C(jī)的字長是定長的,即存儲和處理的位數(shù)是有限的,因此它也有一個計量范圍,即都存在一個“?!?。
如:時鐘的計量范圍是 0~11,模 = 12。表示 n 位的計算機(jī)計量范圍是 0 ~ 2n- 1,模 = 2n.“?!?實(shí)質(zhì)上是計量器產(chǎn)生“溢出”的量,它的值在計量器上表示不出來,計量器上只能表示出模的余數(shù)。任何有模的計量器,均可化減法為加法運(yùn)算。也就是取反后加 1。
假設(shè)當(dāng)前時針指向 8 點(diǎn),而準(zhǔn)確時間是 6 點(diǎn),調(diào)整時間可有以下兩種撥法:
在 12 為模的系統(tǒng)里,加 10 和減 2 效果是一樣的,因此凡是減 2 運(yùn)算,都可以用加 10 來代替。若用一般公式可表示為:
a-b=a-b+mod=a+mod-b
對“?!倍?,2 和 10 互為補(bǔ)數(shù)。實(shí)際上,以 12 為模的系統(tǒng)中,11 和 1,8 和 4,9 和 3,7 和 5,6 和 6 都有這個特性,共同的特點(diǎn)是兩者相加等于模。對于計算機(jī),其概念和方法完全一樣。n位計算機(jī),設(shè)n=8,所能表示的大數(shù)是 11111111,若再加 1 成 100000000 (9位),但因只有 8 位,最高位 1 自然丟失(相當(dāng)于丟失一個模)。又回到了 00000000,所以 8 位二進(jìn)制系統(tǒng)的模為。在這樣的系統(tǒng)中減法問題也可以化成加法問題,只需把減數(shù)用相應(yīng)的補(bǔ)數(shù)表示就可以了。
把補(bǔ)數(shù)用到計算機(jī)對數(shù)的處理上,就是補(bǔ)碼。
原碼求補(bǔ)碼正數(shù)
: 正整數(shù)的補(bǔ)碼是其二進(jìn)制表示,與原碼相同負(fù)數(shù)
: 求負(fù)整數(shù)的補(bǔ)碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)后加 10 的補(bǔ)碼
: 數(shù) 0 的補(bǔ)碼表示是唯一的[+0]補(bǔ) = [+0]反 = [+0]原 = 00000000
[-0]補(bǔ) = 11111111 + 1 = 00000000
已知一個數(shù)的補(bǔ)碼,求原碼的操作其實(shí)就是對該補(bǔ)碼再求補(bǔ)碼:
補(bǔ)碼“模”概念的引入、負(fù)數(shù)補(bǔ)碼的實(shí)質(zhì)、以及補(bǔ)碼和真值之間的關(guān)系, 所揭示的補(bǔ)碼符號位所具有的數(shù)學(xué)特征,無不體現(xiàn)了補(bǔ)碼在計算機(jī)中表示數(shù)值型數(shù)據(jù)的優(yōu)勢,和原碼、反碼等相比可表現(xiàn)在如下方面:
總之,補(bǔ)碼概念的引入和當(dāng)時運(yùn)算器設(shè)計的背景
不無關(guān)系,從設(shè)計者角度,既要考慮表示的數(shù)的類型
(小數(shù)、整數(shù)、實(shí)數(shù)和復(fù)數(shù))、數(shù)值范圍
和精確度
,又要考慮數(shù)據(jù)存儲
和處理所需要的硬件代價
。因此,使用補(bǔ)碼來表示機(jī)器數(shù)并得到廣泛的應(yīng)用也就不難理解了
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧