情報処理安全確保支援士試験 令和5年度春期 午前Ⅰ 問1「0以上255以下の整数nに対して, next(n) = { n+1 (0≦n<2…」の正解と解説です。情報処理安全確保支援士試験の「ビット演算」分野の過去問で、各選択肢の正誤も解説付きで確認できます。
ア. (n+1)AND 255
0〜255は8ビットで表せる範囲。255に1を足すと256=2進数100000000となり9桁目に桁上がりする。255とのAND(下位8ビットのマスク)を取ると上位の桁が消え、256→0、それ以外のn+1はそのまま残る。これがnext(n)の巡回動作に一致するためアが正解。実務ではカウンタの周回(モジュロ演算)をビットマスクで実装する典型手法。