Python 練習例54

Python 100例

問題:整数 a の右端から4〜7ビットを取り出します。

プログラムの解析:次のように考えることができます:
(1) まず a を右に 4 ビットシフトします。
(2) 下位4ビットがすべて1で、それ以外がすべて0の数を設定します。~(~0<<4) を使用できます。
(3) 上記の2つに対して & 演算を行います。

例

#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': a = int(input('input a number:\n')) b = a >> 4 c = ~(~0 << 4) d = b & c print ('%o\t%o' %(a,d))

上記の例の出力結果は次のとおりです:

input a number:
9
11    0

Python 100例

その他の拡張