cCcode

C Language [핵심정리] - 8 본문

C Language Basic

C Language [핵심정리] - 8

cCcode 2021. 5. 13. 00:19

1. Boolean 자료형 사용하기

Boolean 자료형논리 자료형이라고 불리며 참과 거짓을 나타냅니다. 다만, C언어에선 Boolean 자료형이 없어 거짓 0으로 0이 아닌 정수 표현합니다. 그래서 우리는 <stdbool.h>파일을 이용해 true으로, false거짓으로 나타낼 수 있습니다. 

Boolean 자료형
결과

결과를 통해 Boolean 자료형1byte로 그전까지 참, 거짓구분할 때 사용했던 int 자료형과는 크기가 다름을 알 수 있습니다. 그리고 printf 함수결과출력할 때는 %d 서식지정자사용합니다.(따로 정의된 전용 서식지정자는 없습니다.) 

 

2. 비트 연산자 사용하기

지금까지는 자료형구분할 때 byte 단위구분해 사용했습니다. 비트 연산자byte 단위보다 더 작은 bit 단위연산하는 연산자입니다. 하... bit 단위라니... 벌써 까마득하네요... 일단 bitbyte개념에 대해 먼저 설명드리겠습니다.

비트(bit) : 2진수를 저장하는 단위입니다. 컴퓨터에서 사용할 수 있는 최소 단위이며, 0 1을 나타냅니다.

바이트(byte) : 8bit 크기단위입니다.

비트 연산자

비트 연산은 두 값을 비트 단위나열한 뒤 각 자릿수비트 연산자연산합니다. 각 자릿수의 연산 독립적이기에 다른 자릿수영향을 주지 못합니다. 그리고 비트 단위연산한 각 자릿수를 모두 모아 최종결과를 나타냅니다. 그리고 우측의 진리표는 내용이 많아보여도 각 연산자의 특성을 이해하면 모두 암기하지 않아도 사용할 수 있습니다.

비트 연산자는 비트로 옵션설정할 때 주로 사용하며 저장 공간을 아낄 수 있습니다. 이런 방식을 Flag라고 부릅니다.

비트 NOT 연산자
시프트 연산

시프트 연산[변수 << 이동 할 비트 수] 형식으로 사용합니다. 즉, 지정한 횟수대로 비트이동시키며 모자란 공간0으로 대체합니다. 연산자는 모양 그대로 << 는 왼쪽, >>이 오른 쪽입니다. 만약 이런 비트 연산자할당 연산자(=)를 같이 사용한다면 해당 비트 연산수행한 후 다시 자신에게 할당한다는 의미입니다. (그럼 기존에 저장되어 있던 사라지고 새로운 저장되겠죠.)

 

+ 비트 연산자 응용하기

시프트 연산자 2의 거듭제곱을 구할 때 유용합니다.

사실 2의 거듭제곱을 구할 일이 있을까 싶지만.. 알아두어서 나쁠 건 없으니까요.

2의 거듭제곱 구하기
결과

왼쪽으로 한번 씩 이동할 때마다 2의 거듭제곱으로 수가 늘어납니다. 즉, 비트의 각 자릿수2의 거듭제곱을 뜻하므로 비트의 이동횟수지수(exponent)에 해당한다고 볼 수 있습니다. 

'C Language Basic' 카테고리의 다른 글

C Language [핵심정리] - 10  (0) 2021.05.14
C Language [핵심정리] - 9  (1) 2021.05.14
C Language [핵심정리] - 7  (0) 2021.05.11
C Language [핵심정리] - 6  (0) 2021.05.10
C Language [핵심정리] - 5  (0) 2021.05.09
Comments