[英]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.