MIPS プロセッサを C++ で実装することになっている割り当てがあり、MIPS 命令の 1 つが "AND" と "OR" であり、MIPS 命令は次のように表されます。これは、レジスタがビットで表されるand $s1,$s2,$s3
ことを意味します。 C++ を使用して "AND" および "OR" 操作を実行しますか?$s1=$s2(and)$s3
$s2 and $s3
2 に答える
6
C++ には、バイナリと論理の両方の and and or 演算子があります。
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
于 2011-06-06T00:17:23.697 に答える
0
ブール比較は、2 つのオペランドの値に応じて true または false を返します。両方のオペランドがゼロでない場合、論理「and」は true を返します。論理「or」は、両方のオペランドが false の場合にのみ false を返します。
ビット演算子は異なり、オペランドのビットを操作します。ビット単位の「and」は、対応する両方のビットが true の場合にのみ、ビットを true に設定します。
101 & 110 = 100
ビットごとの「or」は、対応する両方のビットがゼロの場合にのみ、ビットをゼロに設定します。
010 | 001 = 011
2 つのビットごとの比較演算子は、シフト演算子 (<< と >>) および 1 の補数演算子 (~) と密接に関連しており、低レベルの演算です。
于 2011-06-06T00:26:12.417 に答える