반응형
int 형 변수를 이진수로 출력하는 함수를 만들면 아래와 같다.
아이디어 자체는 간단하다. 입력받은 정수를 Shift 연산을 이용해서 비트 이동을 시켜서 우리가 원하는 비트를 LSB에 오도록 만들고, 이 숫자를 1과 &연산을 하면 LSB의 숫자가 나오기 때문에 그 때의 값을 출력하는 방식이다.
1 2 3 4 5 6 7 8 | 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 |