컴퓨터공부/C & C++ & STL

10진수를 2진수로 출력하기

achivenKakao 2007. 6. 7. 04:09

#include<stdio.h>
#include<limits.h>

void print_bin(unsigned int u)   // 숫자를 2진수로 출력
{
 unsigned int c = ~0u - (~0u >> 1);  // unsigned 형으로 처리해야 한다
 int bit_count = 0;
 
 while(c !=0)
 {
  if((u & c) !=0) printf("1");
  else printf("0");
 
  c = c >>1;
  if(++bit_count % 5 ==0)
   printf("_");  
 }
 printf("\n");
}

int main(void)
{
 print_bin(1);
 return 0;
}