- XOR(^)
動作ルール:\(1,0 \ RIGHTARROW 1 \)のように緩やかに理解することができる加算器を運ぶことはありません
XORのプロパティ:\(A \) ^ \(A = 0 \)
\(A \) ^ \(0 = A \)
例:単一のおしゃべりは、番号を見つけ、余分なスペースを開けていないことを除いて、二十から二を繰り返し、いくつかあります。
アイデア:アレイ内せて排他的論理和演算の全ての数の、最終結果は、単一の番号です。
- そして、(&)
動作ルール:\(1、1 \ rightarrow1 \)
例①:2進数の1の数を求めて
アイデア:
1.数や操作がしなければなら>> 1、1は多数のためにtrueになります。
図2に示すように、第1 0に、全てが0から1の間第1(下部後方から出発-1 -1動作の回数数を用いて実施するようにされた最初の数とこれは、この数が0に等しくなるまで、数を数え、)0に最初にすることができます。
例②:数が2のべき乗であるかどうかを判断します。
アイデア:これは整数2であるとすると、この数は唯一バイナリ1です。①、解決するために、実施例2アイデアを使用することができるように数値-1が0であるか否かを決定するための操作一度。
- バイナリパリティ交換
アイデア:それぞれの数および \(は0xAAAAAA \)(1010 ... 1010 1010偶数ビット除去)\(0x555555 \)(0101 ... 0101 0101奇数のビットを有する)AND(&)動作のために。その後、偶数ビット予約権、いずれかを予約し、奇数ビットは、その後、XOR演算(^)の操作を一つ残しました。
- 浮動小数点数が0-1の間を表し、(X 2、全体を移動させます)
方法:整数\(* 2 \)次いで、(右配置左から)整数ビットを採取、(* 2 \)\まで、(0 \)\。
例えば:(\ 0.625)\
- \(0.625 * 1.25 = 2 \) 、削除\(1 \) 、次いで進数\(0.1 \) 、数になる\(0.25 \)を
- \(2×0.25 = 0.5 \)、0をとらは、2進数になる\(0.10 \)を、数なる\(0.5 \)
- \(0.5 * 2 = 1 \) 、取り出し、及び金属となる(0.101 \)を\、数になる(0 \)\、サイクルの終わりを
- 多数あり表示されている\(k個\)時間は、数が表示されます\(1 \)の作品を、そして登場\(1 \)の回数を
ヒント:\ (K \)\(K \)進数としてないバイナリ加算演算結果が0であります
方法:この問題は、すべてのデジタル変換がさ入れ、まず、それを明確に考えるべきであるので、ヒント付き(k個\)を\小数の友人は、その後、それぞれの番号を入れて合計に相当する、と\(K \ )引き継ぎ、その後、一緒に入れて回答辛いです!