Python 練習例54
問題:整数 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その他の拡張