def convert_complement_on_two_into_decimal(bits): return -int(bits[0]) << len(bits) | int(bits, 2) 廃止 def convert_complement_on_two_into_decimal(bit_data): return -(int(bit_data, 2) & int(format(2*(len(bit_data)-1), "b"),2)) | (int(bit_data, 2) & int(format(2*(len(bit_data)-1)-1, "0%db" %len(bit_data)), 2)) 検証 2の補数で、それぞれのbit数で表現可能な整数の範囲は、-(2^(n-1))~2^(n-1)-1となります(※nはビット数)。 >>> convert_complement_o