日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

汇编语言布尔表达式(NOT、AND、OR)

發(fā)布時(shí)間:2023/12/3 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 汇编语言布尔表达式(NOT、AND、OR) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

布爾代數(shù)(boolean algebra)定義了一組操作,其值為真(true)或假(false)。它的發(fā)明者是十九世紀(jì)中葉的數(shù)學(xué)家喬治?布爾(George Boole)。

?

在數(shù)字計(jì)算機(jī)發(fā)明的早期,人們發(fā)現(xiàn)布爾代數(shù)可以用來(lái)描述數(shù)字電路的設(shè)計(jì)。同時(shí),在計(jì)算機(jī)程序中,布爾表達(dá)式被用來(lái)表示邏輯操作。

一個(gè)布爾表達(dá)式(boolean expression)包括一個(gè)布爾運(yùn)算符以及一個(gè)或多個(gè)操作數(shù)。每個(gè)布爾表達(dá)式都意味著一個(gè)為真或假的值。以下為運(yùn)算符集合:

  • 非(NOT):標(biāo)記為 ? 或 ~ 或 '
  • 與(AND):標(biāo)記為^或 ·
  • 或(OR):標(biāo)記為 ∨ 或 +

NOT 是一元運(yùn)算符,其他運(yùn)算符都是二元的。布爾表達(dá)式的操作數(shù)也可以是布爾表達(dá)式。示例如下:

達(dá)式 說(shuō)明 表達(dá)式 說(shuō)明
?X NOT X ?X∨Y (NOT X) OR Y
X^Y X AND Y ?(X^Y) NOT (X AND Y)
X∨Y X OR Y X^?Y X AND (NOT Y)

NOT

NOT 運(yùn)算符將布爾值取反。用數(shù)學(xué)符號(hào)書寫為 ?X,其中,X 是一個(gè)變量(或表達(dá)式),其值為真(T)或假(F)。下表列出了對(duì)變量 X 進(jìn)行 NOT 運(yùn)算后所有可能的輸岀。 左邊為輸入,右邊(陰影部分)為輸出:

X ?X
F T
T F

真值表中,0 表示假,1 表示真。

AND

布爾運(yùn)算符 AND 需要兩個(gè)操作數(shù),用符號(hào)表示為 X ^ Y。下表列出了對(duì)變量 X 和 Y 進(jìn)行 AND 運(yùn)算后,所有可能的輸出(陰影部分):

X Y X^Y
F F F
F T F
T F F
T T T

當(dāng)兩個(gè)輸入都是真時(shí),輸出才為真。這與 C++ 和 Java 的復(fù)合布爾表達(dá)式中的邏輯 AND 是相對(duì)應(yīng)的。

匯編語(yǔ)言中 AND 運(yùn)算符是按位操作的。如下例所示,X 中的每一位都與 Y 中的相應(yīng)位進(jìn)行 AND 運(yùn)算:

X :? ? ? ? 11111111
Y :? ? ? ? 00011100
X ^ Y :? 00011100

如下圖所示,結(jié)果值 0001 1100 中的每一位表示的是 X 和 Y 相應(yīng)位的 AND 運(yùn)算結(jié)果。

OR

布爾運(yùn)算符 OR 需要兩個(gè)操作數(shù),用符號(hào)表示為 X∨Y。下表列出了對(duì)變量 X 和 Y 進(jìn)行 OR 運(yùn)算后,所有可能的輸出:

X Y X∨Y
F F F
F T T
T F T
T T T

當(dāng)兩個(gè)輸入都是假時(shí),輸出才為假。這個(gè)真值表與 C++ 和 Java 的復(fù)合布爾表達(dá)式中的邏輯 OR 對(duì)應(yīng)。

OR 運(yùn)算符也是按位操作。在下例中,X 的每一位與 Y 的對(duì)應(yīng)位進(jìn)行 OR 運(yùn)算,結(jié)果為 1111 1100:

X :? ? ?11101100
Y :? ? ?00011100
X∨Y : 11111100

如下圖所示,每一位都獨(dú)立進(jìn)行 OR 運(yùn)算,生成結(jié)果中的對(duì)應(yīng)位。

運(yùn)算符優(yōu)先級(jí)

運(yùn)算符優(yōu)先級(jí)原則(operator precedence rule)用于指示在多運(yùn)算符表達(dá)式中,先執(zhí)行哪個(gè)運(yùn)算。在包含多運(yùn)算符的布爾表達(dá)式中,優(yōu)先級(jí)是非常重要的。

如下表所示,NOT 運(yùn)算符具有最高優(yōu)先級(jí),然后是 AND 和 OR 運(yùn)算符。可以使用括號(hào)來(lái)強(qiáng)制指定表達(dá)式的求值順序:

表達(dá)式 運(yùn)算符順序
?X∨Y NOT,然后 OR
?(X^Y) OR,然后 NOT
X∨(X^Y) AND,然后 OR

布爾函數(shù)真值表

布爾函數(shù)(Boolean function)接收布爾輸入,生成布爾輸出。所有布爾函數(shù)都可以構(gòu)造一個(gè)真值表來(lái)展示全部可能的輸入和輸出。下面的這些真值表都表示包含兩個(gè)輸入變量 X 和 Y 的布爾函數(shù)。右側(cè)的陰影部分是函數(shù)輸岀:

示例 1:?X∨Y

X ?X Y ?X∨Y
F T F T
F T T T
T F F F
T F T T

示例 2:X^?Y

X Y ?Y X^?Y
F F T F
F T F F
T F T T
T T F F

示例3: (Y^S)∨(X^?S)

X Y S Y^S ?S X^?S (Y^S)∨(X^?S)
F F F F T F F
F T F F T F F
T F F F T T T
T T F F T T T
F F T F F F F
F T T T F F T
T F T F F F F
T T T T F F T

示例 3 的布爾函數(shù)描述了一個(gè)多路選擇器(multiplexer),一種數(shù)字組件,利用一個(gè)選擇位(S)在兩個(gè)輸出(X 和 Y)中選擇一個(gè)。如果 S 為假,函數(shù)輸出(Z)就和 X 相同;如果 S 為真,函數(shù)輸出就和 Y 相同。下面是多路選擇器的框圖:

下一篇:1.11?字符在計(jì)算機(jī)中是如何表示的
1.12?匯編語(yǔ)言布爾表達(dá)式
處理器架構(gòu)
2.1?CPU處理器架構(gòu)
2.2?32位x86處理器架構(gòu)
2.3?x86-64處理器架構(gòu)
2.4?x86計(jì)算機(jī)組件
匯編語(yǔ)言基礎(chǔ)
3.1?第一個(gè)匯編語(yǔ)言程序
3.2?匯編語(yǔ)言常量
3.3?匯編語(yǔ)言保留字
3.4?匯編語(yǔ)言標(biāo)識(shí)符
3.5?匯編語(yǔ)言偽指令

總結(jié)

以上是生活随笔為你收集整理的汇编语言布尔表达式(NOT、AND、OR)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。