簡體   English   中英

如何在 C++ 中實現 AND 和 OR 操作

[英]How can I implement AND and OR operations in C++

我有一個任務,我應該在 C++ 中實現 MIPS 處理器,MIPS 指令之一是“AND”和“OR”,MIPS 指令表示為and $s1,$s2,$s3 ,這意味着$s1=$s2(and)$s3 $s2 and $s3寄存器被表示為位,,,如何使用 C++ 執行“與”和“或”操作?

C++ 中同時存在二進制和邏輯與和或運算符。

int a, b = 1;

int x = a | b; // binary OR
int x = a & b; // binary AND
bool x = a || b; // boolean OR
bool x = a && b; // boolean AND

boolean 比較將根據兩個操作數的值返回真或假。 如果兩個操作數都不為零,則邏輯“and”將返回 true。 只有當兩個操作數都為假時,邏輯“或”才會返回假。

位運算符是不同的,它們對操作數的位進行操作。 僅當兩個對應位都為真時,位明智的“和”才會將一個位設置為真:

101 & 110 = 100

僅當兩個對應位都為零時,按位“或”才將位設置為零:

010 | 001 = 011

這兩個按位比較運算符與移位運算符(<< 和 >>)和補碼運算符(~)的關系更密切,因為它們是低級運算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM