티스토리 뷰

반응형

C언어 독학 기초 # 10진수를 2진수로 변환하기

모든 강의 자료 : www.codingnow.co.kr/

10진수를 2진수로 변환하는 소스입니다.

0~255까지의 10진수를 입력 받으면 2진수를 비트연산 쉬프트 연산을 사용해서 출력하는 방식입니다.

또한 2진수 표기시에 앞이 0이면 넘기는 형태도 넣어 봤습니다.

void main(void)
{
  system("chcp 65001"); //gcc 한글 깨짐
  system("cls"); //화면지움

  int input;
  printf("10진수를 입력하세요(0~255) : ");
  scanf("%d",&input);

  byte target; //8bit의 수로 전환
  target = (input&0xFF); //8bit를 제외한 나머지 값은 버린다.

  printf("\n (16진수) 2진수로 표현합니다.\n");
  printf("\n (0x%02X) ",(target));
  for(int i=7; i>-1; i--)
  {
  	printf(" %d", ((target>>i)&0x01));
  }


  printf("\n\n 2진수의 앞자리 0을 지우면",(target));
  printf("\n (0x%02X) ",(target));
  char find = 0;
  for(int i=7; i>-1; i--)
  {
    if(find ==0 && ((target>>i)&0x01) == 0)
    {
    	printf("  ");
    }else{
    	find = 1;
    	printf(" %d", ((target>>i)&0x01));
    }
  }

  printf("\n\n");

  return;
}

 

반응형