FE Study
FE Study メニュー

学習記録はこのブラウザー内に保存されます。

ホーム問題を解く
ログイン不要・無料で学習

ONE QUESTION, ONE STEP

ビットマスクを学ぼう

選んで、確かめて、理解する。焦らず進めましょう。

科目Aソフトウェア標準
QUESTION 74

アクセス権を3ビットの整数で表し、読取り=4(100)、書込み=2(010)、実行=1(001)を足し合わせる。既存の権限を変えずに、読取りと書込みの両方を持つかを調べたい。ANDは各ビットの論理積、ORは各ビットの論理和を表すとき、判定式として適切なものはどれか。

出典:本サイト オリジナル教材(2026年)

本サイトで独自に作成。IPAの試験問題からの転載ではありません。

公開日:

解答を一つ選んでください

選択肢を選んで、答え合わせをしましょう。

回答せずに正解・解説を確認する

正解:ウ (権限 AND 6) = 6

この表示だけでは、回答数や正答率は変わりません。

解説

読取りと書込みのマスクは100 OR 010 = 110で、10進数6です。権限 AND 6の結果が6なら、必要な二つのビットが両方とも立っています。実行権の有無は問わないので、権限6だけでなく7も受け付ける必要があります。

ア

どちらか片方のビットがあるだけでも真になります。権限4で成立するため「両方」を確認できません。

イ

権限0でも0 OR 6 = 6となり、必要な権限を持たない利用者を受け付けてしまいます。

ウ

必要なビットを取り出し、そのすべてがそろうことをマスクとの一致で確かめています。

エ

読取り・書込みに加え実行も持つ権限7を拒否してしまい、要件より厳しい判定です。

関連知識

「必要な権限を一つでも持つ」はAND結果が0でないこと、「すべて持つ」はAND結果が必要マスクと等しいことで調べられます。権限が4、6、7のときの真偽を表にすると違いを確認できます。

間違えやすいポイント

AND結果が0でなければ十分、と即断しないこと。「どれか」と「すべて」で比較する条件が違います。追加のビットがある利用者を排除しないことも確認します。

覚え方

全部必要なら、ANDした結果がマスクそのもの。

実務での意味

複数機能の有効・無効をビットで保存する場合に、必要なフラグが全部そろうかを検査します。実際の認可は対象データや利用者との関係も含めて判断します。

解説:本サイト編集部によるオリジナル文章

この問題の前後に、ソフトウェアの基礎知識ガイドで、 仕組み・比較・解き方を確認できます。 この問題の誤りを報告する(GitHub)。問題IDとURLを入力した下書きが開きます。自動投稿は行いません。 投稿は公開されるため、氏名・住所・メールアドレス・学習記録は記入しないでください。 詳しくはお問い合わせ窓口をご覧ください。