1. 비트단위의 논리 연산자
각 비트 단위로 논리 연산을 함
&(and), |(or), ^(xor), ~(not)
&(and), |(or), ~(not)은 기존 앞의 글과 같이 비트 단위로 논리 연산이 된다.
ex) 0101 & 1100 = 0100
^(xor) 연산자는 두 비트가 같으면0, 다르면1이 출력된다.
ex)0101 ^ 1100 = 1001

2. 시프트 연산자
각 비트를 오른쪽이나 왼쪽으로 n칸 만큼 이동시킨다.
<<, >>
ex) 01001010 << 3 = 01010000
이때 칸을 넘어가는 비트는 0으로 대입된다.

3. 축약 연산자
+=, -=, *= /=, <<=, |= 등등..
두개의 연산자를 합하여 간단하게 표기한 것이다.
a = a+3; 과 a+=3 은 같은 결과를 나타낸다.
4. 증감 연산자
피연산자 앞 또는 뒤에 ++ 또는 --를 붙여 1을 증가 또는 1을 감소 시킬 때, 사용한다.
4.1. 전위 증감
++또는 --가 피연산자 앞에 붙는다
ex) ++i
자기 자신이 증가하고 자기 자신이 연산에 적용된다.
4.2. 후위 증감
++또는 --가 피연산자 뒤에 붙는다
ex)i++
자기 자신과 똑같은 객체를 복사하고, 자기자신은 증가하고 연산은 복사된 객체가 적용된다.
이후 복사본은 코드라인은 벗어나면 소멸한다.
이 복사 하는 과정 때문에, 둘 다 사용해도 무관한 상황에선 전위 증감이 속도상 유리하다.
-----------
형변환
1. 묵시적 형 변환
컴파일러가 자동으로 판단하여 자료형을 변환 시켜준다.
ex) int i = 3.14; 라고 하여도 i를 출력하면 double형인 3.14가 int 형으로 변환되어, 3이 출력된다.
1.1. 정수 대 실수 연산 시, 실수 형으로 자료형이 변환 된다.
(3.14 + 1 -> 실수형으로 변환)
1.2. 같은 타입이지만, 메모리가 다를 때는 큰 쪽으로 자료형이 변환 된다.
(int i와 long long j 가 서로 더할 경우, long long 으로 형 변환)
2. 명시적 형 변환
double i = (double) 4;
double i = double (4);
둘 중 하나의 방식을 사용하여, 명시적으로 형 변환을 할 수 있다.
'개발 Study' 카테고리의 다른 글
#8 Switch문, While문 그리고 난수 (0) | 2021.04.03 |
---|---|
#7 if문 및 삼항연산자 (0) | 2021.04.01 |
#5 n진수 및 연산자 (0) | 2021.03.31 |
#4 변수 표기법 (0) | 2021.03.30 |
#3 아스키코드 및 리터럴 상수 (0) | 2021.03.30 |