본문 바로가기

컴퓨터/C 언어

int형 변수를 이진수로 출력하기

반응형

int 형 변수를 이진수로 출력하는 함수를 만들면 아래와 같다.


아이디어 자체는 간단하다. 입력받은 정수를 Shift 연산을 이용해서 비트 이동을 시켜서 우리가 원하는 비트를 LSB에 오도록 만들고, 이 숫자를 1과 &연산을 하면 LSB의 숫자가 나오기 때문에 그 때의 값을 출력하는 방식이다.


void print32bit(int a){
	int i;
	for( i=31; i>=0; --i){
		printf("%d", (a>>i)&1);
		if(i%4==0)
			printf(" ");
	}
}


그리고 if 문의 경우에는 4bit씩 끊어서 출력을 하기 위해 추가한 내용이다.

반응형

'컴퓨터 > C 언어' 카테고리의 다른 글

배열없이 3개 정수 정렬하기  (0) 2018.07.23
삼중자(Trigraph)  (0) 2018.07.22
[입력-형성평가5]  (0) 2014.10.07
[입력-형성평가4]  (0) 2014.10.07
[입력-형성평가3]  (0) 2014.10.07