ビット単位のAND/OR/XOR/NOT演算とビットシフト演算について紹介し、それらによってビットパターンがどう変化するかを確認していく。 # ビットパターンを表示するヘルパー関数の定義 def bitpat(x): l = x.bit_length() + 1 # 符号ビットを含めるため+1 if l < 8: # 最低でも8桁のビットパターンとする l = 8 if l % 4 != 0: # 4桁ごとの表示にするため、4の倍数にする l += 4 - l % 4 c = l // 4 - 1 # セパレーターの数 if x >= 0: pattern = f'{x:0{l+c}_b}' else: mask = (1 << l) - 1 pattern = f'{x & mask:0{l+c}_b}' return pattern print(bitpat(127)) #