BohYoh.comトップページへ
C & C++ FAQ
目次

C C++ 整数値を2進数で表示するにはどうすればよいですか

 整数値を2進数で表示するプログラム例を示します。

#include <stdio.h> /*--- 整数x中のセットされたビット数を返す ---*/ int count_bits(unsigned x) { int count = 0; while (x) { if (x & 1U) count++; x >>= 1; } return (count); } /*--- unsigned型のビット数を返す ---*/ int int_bits(void) { return (count_bits(~0U)); } /*--- unsigned型のビット内容を表示 ---*/ void print_bits(unsigned x) { int i; for (i = int_bits() - 1; i >= 0; i--) putchar(((x >> i) & 1U) ? '1' : '0'); } int main(void) { unsigned nx; printf("非負の整数を入力してください:"); scanf("%u", &nx); print_bits(nx); putchar('\n'); return (0); }



柴田望洋『明解C言語入門編』,ソフトバンク,1998より。
戻る

BohYoh.comロゴ