首先,在“邏輯”這個概念范疇內,存在真和假這兩個邏輯值,而將其對應到數字電路或 C 語言中,就變成了“非 0 值”和“0 值”這兩個值,即邏輯上的“假”就是數字電路或C 語言中的“0”這個值,而邏輯“真”就是其它一切“非 0 值”。然后,我們來具體分析一下幾個主要的邏輯運算符。我們假定有 2 個字節變量:A 和 B,二者進行某種邏輯運算后的結果為 F。以下邏輯運算符都是按照變量整體值進行運算的,通常就叫做邏輯運算符:
| 邏輯運算符 | 說明 |
|---|---|
| && 邏輯與 | F = A && B,當 A、B 的值都為真(即非 0 值,下同)時,其運算結果 F為真(具體數值為1,下同);當 A、B 值任意一個為假(即 0,下同)時,結果 F 為假(具體數值為 0,下同)。 |
| || 邏輯或 | F = A || B,當 A、B 值任意一個為真時,其運算結果 F 為真;當 A、B 值都為假時,結果 F 為假。 |
| ! 邏輯非 | F = !A,當 A 值為假時,其運算結果 F 為真;當 A 值為真時,結果 F 為假。 |
以下邏輯運算符都是按照變量內的每一個位來進行運算的,通常就叫做位運算符:
| 邏輯運算 | 說明 |
|---|---|
| & 按位與 | F = A & B,將 A、B 兩個字節中的每一位都進行與運算,再將得到的每一位結果組合為總結果 F,例如 A = 0b11001100,B = 0b11110000,則結果 F 就等于 0b11000000。 |
| | 按位或 | F = A | B,將 A、B 兩個字節中的每一位都進行或運算,再將得到的每一位結果組合為總結果 F,例如 A = 0b11001100,B = 0b11110000,則結果 F 就等于 0b11111100。 |
| ~ 按位取反 | F = ~A,將 A 字節內的每一位進行非運算(就是取反),再將得到的每一位結果組合為總結果 F,例如 A = 0b11001100,則結果 F 就等于 0b00110011;這個運算符我們在前面的流水燈實驗里已經用過了,現在再回頭看一眼,是不是清楚多了。 |
| ^ 按位異或 | 異或的意思是,如果運算雙方的值不同(即相異)則結果為真,雙方值相同則結果為假。在 C 語言里沒有按變量整體值進行的異或運算,所以我們僅以按位異或為例,F = A ^ B,A = 0b11001100,B = 0b11110000,則結果 F 就等于 0b00111100。 |
我們今后要看資料或芯片手冊的時候,會經常遇到一些電路符號,圖 5-1 所示就是數字電路中的常用符號,知道這些符號有利于我們理解器件的邏輯結構,尤其重點認識圖 5-1 中的國外流行圖形符號。在這里我們先簡單看一下,如果日后遇到了可以到這里來查閱。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6076文章
45494瀏覽量
670260 -
C語言
+關注
關注
183文章
7644瀏覽量
145569 -
數字電路
+關注
關注
193文章
1651瀏覽量
83337 -
邏輯運算
+關注
關注
0文章
58瀏覽量
10260
原文標題:單片機邏輯電路與邏輯運算
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
C運算符的優先級和結合性詳細解決
運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。
C語言內置了豐富的運算符,大體可分為10類:算術運算符、關系
什么是邏輯運算符
邏輯運算符對其操作數求值,并返回一個值,該值指示求值結果是真還是假(true or false)。例如,運算a && b測試a和b是否都為真,如果兩個操作數都為真,則運算符返回真。否則,運算符
Python中運算符介紹
: print(“a《30”) if 4 《= a 《= 30: print(“1《=a《=10”) if 4 《= a a 《= 30”) 3. 位運算符 按位運算符是把
C語言邏輯運算符優先次序
有3種邏輯運算符:與(AND),或(OR),非(NOT)。在basic和Pascal等語言可以在程序中直接用and,or,not作為邏輯運算符。在C語言中不能再程序中直接使用,而是用其他符號代替。
verilog的邏輯運算符
的相關知識,希望對各位有所幫助。 分類 按照常見的幾類verilog邏輯運算符可以將其分為以下幾類 邏輯運算符:、||、! 和||是雙目運算,用在兩個數之間;!為單目運算符用在
單片機的邏輯運算符和位運算符是什么?數字電路中的常用符號
評論