먼저 비트연산부터 알아보자.
처리속도 : 비트연산 > 일반연산
종류
1. 논리 연산자
2. shift(시프트) 연산자
위 표 하나로 종결한다.
추가로 ~ (NOT)의 연산의 경우 *부호비트가 반전된다.
(부호비트란? : signed 자료형의 경우, 맨~ 왼쪽에 첫번째 비트 하나를 음수(-)인지 정수인지 판단하는 비트가 존재한다.)
#include <stdio.h>
int main()
{
int num = 0;
printf("typing num : ");
scanf("%d", &num);
printf("%d", ~num);
return 0;
}
연산자는 다음과 같다.
쓰다보니 귀찮아져서 대충 다 때려박았다.
대입 연산자 | = |
산술 연산자 | +, -, *, /, %, ++, -- |
관계 연산자 | <, >, <=, >=, ==, != |
논리 연산자 | &&, ||, ! |
할당 연산자 | +=, -=, *=, /=, %= |
삼항 연산자 | ? |
사실 삼항연산자 말고는 설명하고 말것도 없다.
(삼항 연산자는 딱 봤을때 뭔지 유추하기 어렵고, 다른 언어에서도 많이 쓴다. 그러니 숙지해두자)
대입 연산자는 값을 a = 1; 하면 a에 1값이 들어간다는 거고
산술 연잔사는 * 곱하기, / 나누기, % 나머지 구하기,
++는 1증가, -- 1감소이다.
(++a 와 같이 앞에 있으면 해당 줄을 읽을때 제일 먼저 실행, a++ 처럼 있으면 줄을 다 읽고 마지막에 실행이니 참고)
&& (AND) 는 (1==1 && 1==1) => 참
이런식으로 양쪽 모두 참 판단,
|| (OR) 는 (1==1 || 1==0) => 참
한쪽만 참이어도 참
! (NOT) 은 (!1==0) => 참
참 거짓 반전
삼항 연산자는
A = B ? 10 : 20
B가 참이면 A에 10을 할당, 거짓이면 A에 20을 할당
'Programming' 카테고리의 다른 글
JDK Vender 확인 명령어 (0) | 2021.03.17 |
---|---|
Json 타입별 간편 Convert(ObjectMapper) (0) | 2021.03.15 |
JAVA - Classpatch 지정 시 오류 발생 해결법 (0) | 2020.08.18 |
C언어 - 분기문 (goto, break, continue, return) (0) | 2020.06.24 |
C언어 - switch문 (0) | 2020.06.22 |