대입연산
- =를 사용하여 변수에 수를 대입하는 연산법
ex) a = a + 6, a = a * 7 ..
- +=, -=, *=, /= 등으로 깔끔한 형태로 만들 수 있다.
ex) a += 6, a *= 7 ..
가감산
- ++, --를 사용하여 1씩 가감산을 할 수 있다.
ex) (a++) = (a = a + 1)
- 전치: 연산을 할 때, 가감산을 먼저 한다.
ex) a = 10;
b = ++a;
a : 11, b : 11
- 후치: 연산을 할 때, 가감산은 제일 마지막에 한다.
ex) a = 10;
b = a++;
a : 11, b : 10
비교연산
- >, <, == 등을 사용하여 비교 대상들의 관계에 대해 참, 거짓 값을 리턴한다.
- int: 참 = 1, 거짓 = 0이고 bool(1byte): 참 = 1, 거짓 = 0이다. (크기만 다를 뿐, 입력되는 값은 같다)
ex) a = 10;
b = 11;
p = a > b;
q = a < b;
r = a == b;
p : 0, q : 1, r : 0
논리연산
- &&, ||, ! 등을 사용하여 논리연산을 만들고, 주로 비교연산과 함께 쓴다.
ex) AND 연산: [(a >= 1) && (a <= 10)]는 [1 <= a <= 10]과 같다.
OR 연산: [(a <= 1) || (a >= 10)]는 [1 < a < 10]이 아닌 것과 같다. ( = [!(1 < a < 10)] )
NOT 연산: [!(a >= 1)]는 [a < 1]과 같다.
비트연산
- &, |, ^, ~ 등을 이용하여 2진법으로 이루어진 비트들을 연산한다
ex) a = 12, b = 10;
AND 연산: a & b == 8 00001100 AND 00001010 -> 00001000
OR 연산: a | b == 14 00001100 OR 00001010 -> 00001110
XOR 연산: a ^ b == 6 00001100 XOR 00001010 -> 00000110
NOT 연산: ~a == -13 00001100 -> 11110011
Shift 연산
- <<. >> 등을 이용하여 2진법으로 이루어진 비트들을 왼쪽이나 오른쪽으로 옮긴다
주의 옮겨지면서 없어지는 비트값이 생긴다
주의 메모리 크기가 더 큰 자료형으로 바뀌어서 의도치 않은 결과값을 낼 수 있다
ex) char a = 22;
a << 1 == 44
a << 3 == 176
a << 6 == 1408 00010110 -> 00000000/00010110 -> 01011000/00000000
a >> 1 == 11 00010110 -> 00001011
a >> 3 == 2
a >> 6 == 0 00010110 -> 00000000
'Study > C C++' 카테고리의 다른 글
[두들낙서] 배열 (0) | 2021.02.28 |
---|---|
[두들낙서] 반복문 (0) | 2021.02.28 |
[두들낙서] 조건문 (0) | 2021.02.26 |
[두들낙서] 자료형 (0) | 2021.01.26 |
C언어 공부 계획 (0) | 2021.01.12 |