ビット構成を表示する

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

ビット構成を表示する

C


#include <stdio.h>

int count_bits(unsigned x)
{
int count = 0;
while (x)
{
if (x & 1u) count++;
x >>= 1;
}
return count;
}

int int_bits(void)
{
return count_bits(~0u);
}

void print_bits(unsigned x)
{
int i;
for (i = int_bits() - 1; i >= 0; i--)
putchar(((x >> i) & 1u) ? '1' : '0');

putchar('\n');
}

int main(int argc, char* argv[])
{
unsigned x = 10000;
print_bits(x);

return 0;
}

実行結果

R:\>lesson055\project1.exe
00000000000000000010011100010000