[C언어] 출력형식, 진법변환, 비트연산, 매크로, 삼항연산자
출력형식
관련문제
진법변환
진법변환의 필요성
-> 컴퓨터는 1과 0만 읽을 수 있고 특히 램이나 기억장치는 16비트를 사용하기 때문에 진법 변환이 필요하다.
이어지는 비트연산을 위해서도 필수이다.
진법변환할 때 1의 방법으로만 했는데 2로 바꿔봐야겠다. 우선 8진법이란 0-7까지의 수로 표현되기에 주어진 수의 공간을 3씩 나눈다. 그리고 2진법 모자를 씌워준다. 그 후에 1에 해당하는 값들을 더해준다. 간단히 말하면, 3자리씩 나눠-> 1에 해당하는 수를 더해주고 -> 출력한다.
마찬가지로 16진수는 4자리씩 잘라준다. 빈공간은 0으로 채워준다.
비트연산
매크로
반복적인 일들을 쉽게 하기 위해 만들어 놓은 것이다. 전처리기에서 처리한다.
주의할 점은 함수안에 인자를 전달한 경우 연산할 때 연산자 우선순위를 유념해야 한다는 것이다.
다음 SQR(N+2)는 144가 아니라 32이다. 매크로일 때는 함수일 때와 다르다는 것!
시프트연산
우측으로 밀어 -> 절벽에서 밀어버린다.
좌측으로 밀어 -> 데려온다.
2진수로 바꾼다음, 해당비트만큼 밀어버리면 된다.
1010 뒤에 00 두개를 붙이고 1에 해당하는 값들을 더해준다. 40이 출력된다.
삼항연산자
조건에 따라 다른 명령을 수행하는 연산자.
구조: 조건? 참 : 거짓
유투브 흥달쌤의 c언어 특강을 들으며 정리했습니다.