計算機邏輯運算總結

2022-02-18 06:34:21 字數 772 閱讀 5894

在計算機二進位制中,最高位表示符號位,若為0表示正數,若為1表示負數。同時我們需要清楚知道原碼、反碼、補碼的概念,這裡請自行了解。

取非/反(~):在二進位制補碼中,要獲取數字的負數,需反轉所有位並加1。比如(~-5),5是00000101,那麼-5則是:11111010 + 00000001 = 11111011,然後再取(~)是00000100,所以結果為4。若是正數,則其補碼是其本身,比如(~5),5是00000101,那麼直接取(~),所以結果為11111010,其實這個值就是6的補碼即-6。比如如下例子:

~(-3) = 2

~(-2) = 1

~(-1) = 0

~0 = -1

~1 = -2

~2 = -3

由上我們可總結出:~x =-x -1。

左移(<<):給定資料乘以2的位數次冪。例如11<<2(11 * 2^2 = 44)

有符號右移(>>):進行向右移位後,將最左邊的符號位(most significant bit msb)填充到最左邊的位,這稱為符號擴充套件,當向右移動負數時,它可以保留負號的符號。若為正數,則結果為給定資料除以2的位數次冪並捨去模。例如11>>2(11/2^2 = 2),若為負數,則結果為根據正數的結果取負數並減1,也就是(-x-1)。

無符號右移(>>>):有符號右移保留符號位,而無符號位右移則是不保留以0進行填充,也就是無符號右移主要是針對正數,此時結果和有符號右移中的資料不帶符號一致。

計算機的邏輯運算

上一節 十六進製制與資料寬度 我們提到,計算是有寬度的。比如 乙個二進位制數 1111 1111 1111 1111 b 我們用4位,4位書寫形式ffff這樣比較簡單。計算機除了算術運算外,還有邏輯運算,只有二進位制才能進行邏輯運算。邏輯運算只有對與錯,成與敗兩個結果 也就是0和1 0 0 0 0 ...

計算機中的邏輯運算

計算機中的邏輯運算又被稱作為 布林運算 分別為 邏輯與運算 邏輯或運算,邏輯非運算,邏輯異或運算。此外在閘電路中還有 同或運算 與非運算 或非運算。共七種。這七種邏輯運算中,只有 邏輯非運算 是一元邏輯運算 乙個運算引數 其他六種均是二元邏輯運算 兩個運算引數 邏輯運算只有兩個布林值 邏輯與運算,運...

計算機邏輯筆試回憶總結

廢話在前 程式設計師的面試除了考資料結構和演算法,還經常會考一些智商型別的邏輯題,而這些題目其實是有一些共同的規律和分類的,有套路可摸,相信積累總結分析之後即使碰不到原題也會有很大的啟發作用,也就是那些套路。地上本沒有套路,走的人多了也變成了套路 哈哈這是廢話。一.數字推理 1 144,121,10...