ビットマスク 【bit mask】

概要

ビットマスク(bit mask)とは、ビット単位の論理演算で特定のビットだけを操作対象とするために用いられるビットパターンのこと。特定のビットだけを取り出したり変更することができる。

特定ビットを取り出す

あるビット列を構成する特定のビットの状態を知りたい場合、その位置を「1」に、残りを「0」にしたビットマスクを用意し、対象ビット列とビット論理積(AND)を取れば、そのビットのみが元の状態のまま残り、他のビットは「0」となる。

例えば、8ビットの値の左から3番目のビットが知りたい場合、「00100000」というビットマスクとAND演算を行えば、当該ビットが「1」の場合は「00100000」、「0」の場合は「00000000」という結果になり、当該ビットの状態のみを取り出すことができる。

特定ビットを操作する

あるビット列の特定のビットを「1」にしたい場合、その位置を「1」に設定して他を「0」に設定したビットマスクを用意して、ビット論理和(OR)を取ればよい。マスク中で「1」に設定した位置のビットは必ず「1」となり、「0」に設定した位置のビットは元の値がそのまま(0なら0、1なら1)残る。

また、特定の位置を「0」にしたい場合、その位置を「0」、他を「1」にしたビットマスクを用意して、ビット論理積(AND)を取ればよい。マスク中で「0」に設定した位置のビットは必ず「0」となり、「1」に設定した位置ののビットは元の状態のまま残る。

(2023.1.14更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。