반응형
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 |