0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機的邏輯運算符和位運算符是什么?數(shù)字電路中的常用符號

GReq_mcu168 ? 來源:未知 ? 作者:易水寒 ? 2018-10-03 08:50 ? 次閱讀

首先,在“邏輯”這個概念范疇內(nèi),存在真和假這兩個邏輯值,而將其對應(yīng)到數(shù)字電路或 C 語言中,就變成了“非 0 值”和“0 值”這兩個值,即邏輯上的“假”就是數(shù)字電路或C 語言中的“0”這個值,而邏輯“真”就是其它一切“非 0 值”。然后,我們來具體分析一下幾個主要的邏輯運算符。我們假定有 2 個字節(jié)變量:A 和 B,二者進行某種邏輯運算后的結(jié)果為 F。以下邏輯運算符都是按照變量整體值進行運算的,通常就叫做邏輯運算符:

邏輯運算符 說明
&& 邏輯與 F = A && B,當(dāng) A、B 的值都為真(即非 0 值,下同)時,其運算結(jié)果 F為真(具體數(shù)值為1,下同);當(dāng) A、B 值任意一個為假(即 0,下同)時,結(jié)果 F 為假(具體數(shù)值為 0,下同)。
|| 邏輯或 F = A || B,當(dāng) A、B 值任意一個為真時,其運算結(jié)果 F 為真;當(dāng) A、B 值都為假時,結(jié)果 F 為假。
! 邏輯非 F = !A,當(dāng) A 值為假時,其運算結(jié)果 F 為真;當(dāng) A 值為真時,結(jié)果 F 為假。

以下邏輯運算符都是按照變量內(nèi)的每一個位來進行運算的,通常就叫做位運算符:

邏輯運算 說明
& 按位與 F = A & B,將 A、B 兩個字節(jié)中的每一位都進行與運算,再將得到的每一位結(jié)果組合為總結(jié)果 F,例如 A = 0b11001100,B = 0b11110000,則結(jié)果 F 就等于 0b11000000。
| 按位或 F = A | B,將 A、B 兩個字節(jié)中的每一位都進行或運算,再將得到的每一位結(jié)果組合為總結(jié)果 F,例如 A = 0b11001100,B = 0b11110000,則結(jié)果 F 就等于 0b11111100。
~ 按位取反 F = ~A,將 A 字節(jié)內(nèi)的每一位進行非運算(就是取反),再將得到的每一位結(jié)果組合為總結(jié)果 F,例如 A = 0b11001100,則結(jié)果 F 就等于 0b00110011;這個運算符我們在前面的流水燈實驗里已經(jīng)用過了,現(xiàn)在再回頭看一眼,是不是清楚多了。
^ 按位異或 異或的意思是,如果運算雙方的值不同(即相異)則結(jié)果為真,雙方值相同則結(jié)果為假。在 C 語言里沒有按變量整體值進行的異或運算,所以我們僅以按位異或為例,F(xiàn) = A ^ B,A = 0b11001100,B = 0b11110000,則結(jié)果 F 就等于 0b00111100。

我們今后要看資料芯片手冊的時候,會經(jīng)常遇到一些電路符號,圖 5-1 所示就是數(shù)字電路中的常用符號,知道這些符號有利于我們理解器件的邏輯結(jié)構(gòu),尤其重點認(rèn)識圖 5-1 中的國外流行圖形符號。在這里我們先簡單看一下,如果日后遇到了可以到這里來查閱。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628326
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134034
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1578

    瀏覽量

    80176
  • 邏輯運算
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    9735

原文標(biāo)題:單片機邏輯電路與邏輯運算

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言基礎(chǔ)知識(4)--運算符

    C語言中,運算符包括有算術(shù)運算符、關(guān)系運算符邏輯運算符運算。
    的頭像 發(fā)表于 06-15 09:38 ?2815次閱讀

    C語言運算符的使用方法

    詳細(xì)介紹了C語言表達式、算術(shù)運算符、賦值運算符、關(guān)系運算符、條件結(jié)構(gòu)、邏輯運算符、運算符的語法
    發(fā)表于 11-02 11:30 ?932次閱讀
    C語言<b class='flag-5'>運算符</b>的使用方法

    邏輯運算符是什么

    邏輯運算符:與或非條件結(jié)構(gòu)if -else及其嵌套循環(huán)結(jié)構(gòu)whilefordo-while
    發(fā)表于 07-14 07:50

    條件運算符是什么_條件運算符有哪些

    運算符優(yōu)先級高于賦值、逗號運算符,低于其他運算符。關(guān)系運算實際上是邏輯比較運算,它是
    發(fā)表于 11-16 16:02 ?1.1w次閱讀
    條件<b class='flag-5'>運算符</b>是什么_條件<b class='flag-5'>運算符</b>有哪些

    C運算符的優(yōu)先級和結(jié)合性詳細(xì)解決

    運算符是一種告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作的符號。 C語言內(nèi)置了豐富的運算符,大體可分為10類:算術(shù)運算符、關(guān)系
    的頭像 發(fā)表于 02-22 17:27 ?3113次閱讀

    淺析MySQL的各類運算符

    MySQL支持多種運算符,我們在寫SQL腳本時經(jīng)常會需要用到各種各樣的運算符,這些運算符可以用來連接表達式,進而從數(shù)據(jù)庫查詢我們需要的結(jié)果集等。這些類型主要包括算術(shù)
    的頭像 發(fā)表于 05-03 17:41 ?1967次閱讀
    淺析MySQL<b class='flag-5'>中</b>的各類<b class='flag-5'>運算符</b>

    python運算符是什么

    運算符: 算術(shù)運算符 比較(關(guān)系)運算符 賦值運算符 邏輯運算符
    的頭像 發(fā)表于 02-21 16:44 ?2195次閱讀

    什么是邏輯運算符

    邏輯運算符對其操作數(shù)求值,并返回一個值,該值指示求值結(jié)果是真還是假(true or false)。例如,運算a && b測試a和b是否都為真,如果兩個操作數(shù)都為真,則運算符返回真。否則,運算符
    的頭像 發(fā)表于 02-09 15:55 ?1861次閱讀
    什么是<b class='flag-5'>邏輯運算符</b>

    邏輯運算符與表達式

    邏輯運算符邏輯表達式可以實現(xiàn)的編輯,比如的清零、設(shè)置、取反和取補等操作。使用
    的頭像 發(fā)表于 02-21 15:22 ?1134次閱讀
    <b class='flag-5'>位</b><b class='flag-5'>邏輯運算符</b>與表達式

    Python運算符介紹

    : print(“a《30”) if 4 《= a 《= 30: print(“1《=a《=10”) if 4 《= a a 《= 30”) 3. 運算符運算符是把
    的頭像 發(fā)表于 03-08 17:22 ?1019次閱讀

    C語言邏輯運算符優(yōu)先次序

    有3種邏輯運算符:與(AND),或(OR),非(NOT)。在basic和Pascal等語言可以在程序中直接用and,or,not作為邏輯運算符。在C語言中不能再程序中直接使用,而是用其他符號代替。
    的頭像 發(fā)表于 03-09 10:49 ?2750次閱讀

    Go語言運算符主要包括哪些呢?

    Go語言運算符主要包括:算數(shù)運算符、關(guān)系運算符邏輯運算符、運算符、賦值
    的頭像 發(fā)表于 05-26 15:54 ?762次閱讀
    Go語言<b class='flag-5'>運算符</b>主要包括哪些呢?

    KUKA機器人的邏輯運算符

    邏輯運算符用于布爾變量、常數(shù)和簡單的、借助比較運算符構(gòu)成的邏輯表達式的邏輯運算。
    發(fā)表于 07-21 10:06 ?2174次閱讀
    KUKA機器人的<b class='flag-5'>邏輯運算符</b>

    verilog的邏輯運算符

    的相關(guān)知識,希望對各位有所幫助。 分類 按照常見的幾類verilog邏輯運算符可以將其分為以下幾類 邏輯運算符:、||、! 和||是雙目運算,用在兩個數(shù)之間;!為單目運算符用在
    的頭像 發(fā)表于 09-21 10:07 ?1848次閱讀
    verilog的<b class='flag-5'>邏輯運算符</b>

    邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型是

    邏輯運算符是編程中常用運算符之一,用于判斷兩個表達式之間的關(guān)系,并返回布爾值結(jié)果。在邏輯運算,兩側(cè)
    的頭像 發(fā)表于 11-30 14:15 ?1360次閱讀