ビット構成を表示する

明解C言語 入門編 > 7. 基本型 >

ビット構成を表示する

Python
import sys

def count_bits(x):
    count = 0
    while (x != 0):
        if (x & 1 != 0):
            count +=1
        x = (x >> 1) & ~(~0 << (sys.getsizeof(x) * 8));
    return count

def int_bits():
    return count_bits(~0)

def print_bits(x):
    for i in range(int_bits() - 1, -1,  -1):
        if ((x >> i) & 1) != 0:
            sys.stdout.write("1")
        else:
            sys.stdout.write("0")
    print

x = 10000
print_bits(x)

実行結果

N:\>python lesson_07_055.py
0000000000000000000000000000000000000000000000000000000000000000000000000000000000010011100010000