整型數字在計算機中的儲存與異或常用性質

2021-09-09 06:50:12 字數 312 閱讀 7336

異或常用性質:

a^a=0

a^0=a

a^(-1)=~a   表示按位取反

求某個數最低位為1的快速方法:a&(-a)  其中-a = ~a+1

異或運算經常用於查詢陣列中 出現奇數次的單個元素。

當存在多個元素(通常為2個),需要先將陣列劃分為兩個子陣列,保證每個出現多次的在乙個子陣列內,出現奇數次的兩個數分到兩個子陣列中,最後分別對兩個子陣列異或得到這兩個元素。

來自劍指offer:

把乙個整數減去1之後再和原來的整數做位與運算,得到的結果相當於是把整數的二進位制表示中的最右邊乙個1變成0

整型數字在計算機中的表示

記得遠古時代,上第一門計算機課時,書上說 整型數字在計算機中的以補碼形式儲存。今天有人問我這是啥意思。我乾脆就寫了個程式來說明這點,程式的功能是讓使用者輸入乙個整型數字,然後將這個數字所佔據的記憶體按照位和位元組分別輸出。不但可以看出的確是用補碼形式儲存,還能看出是little endian還是bi...

負數在計算機中的儲存

問乙個基本的問題。負數在計算機中如何表示?舉例來說,8在計算機中表示為二進位制的1000,那麼 8怎麼表示呢?很容易想到,可以將乙個二進位制位 bit 專門規定為符號位,它等於0時就表示正數,等於1時就表示負數。比如,在8位機中,規定每個位元組的最高位為符號位。那麼,8就是00001000,而 8則...

資料在計算機中的儲存

首先,我們為什麼要知道這個呢?我們只需要知道這個東西怎麼用不就好了嗎?我想,你可能忽視了你還是乙個程式設計師。好了言歸正傳我們來講講計算機中資料的儲存方式。我們都知道在計算機中所有的資料是以二進位制的形式儲存的,那麼你們有沒有想過01這些資料是怎麼存在計算機當中的呢?不知道你們有沒有聽過乙個東西,叫...