0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ビット操作とマスクパターン

Posted at

ビット操作とマスクパターン

論理演算を用いると、このようなビット操作も簡単に行うことが出来るのです。

気づき

2の補数をどうやって表現するのか?
反転させて1を足す。
NOT回路とOR回路を思い浮かぶ。

ビットを反転させる。

排他的論理和(EOR,XOR)を用いる。
2つの入力が等しい場合は0を、異なっている場合は1を出力
これを用いる。
反転させたいビット列の反転させたい位置に1を入れたビット列(マスクパターン)を作る。
1を入れたビット列と反転させたいビット列を足す
するとビット列を反転させることができる。

00000011のビット列を反転させたい。
EOR/XORを意識してマスクパターンを作成。
11111111になる。
両者を足すと11111100になる。

特定のビットを取り出す

ビットを取り出すには論理積(AND)を用いる。
ビットマスクをを作成させる。

01101011から後ろ4ビットを取り出す。
その際に後ろ4ビットが残るようにAND回路を意識してマスクパターンを作成させる。
そうして00001111になる。
両者を足すと00001011になる。

気づき

特定のビットを取りだせて何がいいのだろうか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?