コンピュータシステムとクラウドコンピューティングブックP39の練習2.13

練習2.13 
1980年代後半に1970年代後半には、DigitalEquipmentは、VAXコンピュータは、非常に人気のモデルです。これは、ブール演算子ANDとORのコマンドない、唯一のBIS(ビットセット)とBIC(ビットクリア)は、両方の指示があります。入力データワードの二種類のコマンドとマスクワードのx Mです。 彼らは結果zを生成します。Z Mは、得られたX位置の変化に応じてビットマスクです。ビスコマンドを使用します。Z 1に対応する位置に1メートル可能な各位置について。 BICの手順を使用してください。1の可能な各位置についてMは、zが0に対応する位置に設定されています。 我々は、ビットセットとビットクリア動作を達成するために2つの機能ビスおよびBICを持っている場合、C言語のビットレベルの操作とビスとBICの動作との関係を明確にするために。ただ、関係なく、ビット演算を達成するために、他のどのような操作のC言語を使用せずにこれらの二つの機能を使用したい|および^オペレーション、すなわちORおよびXOR。同等または、BICビス(x、m)は、X&〜mに相当します。X ^ Y =(X&〜 Y)|(〜X&Y) の割合で、以下に示す: / * 2つの算術関数* /定義 INT BIS(のINTx、INT m)を、 intbic(INT X、INT M); / * OR実装* / intbool_or(INT X、INT Y){ int型の結果= _______; リターン結果; } / * XOR実装* / INT bool_xor(INT X、INT Y){ int型の結果= ______; リターン結果; }

ビスの理解
例えば、ビス([1001]、[ 1101])= [1101]、
Mビットのマスク、xがセットされ、0または1であるかどうか、
論理和に相当

BIC理解の
EGを( [10011001]、[11101000])= [00010001];
ゼロに設定され、xは0又は1であるか否かをMビットのマスク、、;
ように元の第1のマスクに対応するが反転しますビットが0になり、その後、x軸に運ば

BIS(0,0)= 0; BIS(0,1)= 1; BIS(1,0)= 1 ; BIS(1,1)= 1;
BIC(0、 0)= 0; BIC(1,0)= 1; BIC(0,1)= 0、BIC(1,1)= 0;

XOR演算
!X ^ Y =(X& 〜Y)(Y&〜X)
X ^ Y =ビス(BIC( x、y)は、BIC(Y、X))

おすすめ

転載: www.cnblogs.com/wwqdata/p/11505305.html