1. 정수의 나눗셈( int / int )
정수를 정수로 나누었을 때 소숫점 이하는 버림한다(암시적 형 변환).
소숫점도 챙기고 싶다면 명시적 형 변환을 사용한다.
static_cast<double> ( 100 / 3 );
2. 산술연산 우선 순위
괄호 내부 계산 > 곱셈, 나눗셈 > 덧셈, 뺄셈
3. Divide by Zero
숫자를 나눗셈할 때 0으로 나누지 않도록 주의하여야 한다.
4. 오버플로우, 언더플로우
형식의 지정된 범위를 넘지 않도록 주의하여야 한다.
(unsigned) char : 0~255
(unsigned) short : 0~65535
(unsigned) int : 약 42억
5. 부호 비트
음수의 int 형 변수가 오른쪽 시프트 연산자로 비트가 하나씩 밀리게 되면 최상위 부호 비트가 유지된 채로 한칸씩 밀리게 된다.
ex) 1000 0000 (-128) ->(Rsh)-> 1100 0000 (-64)
최상위 부호 비트가 켜진채로 한 칸씩 밀리기 때문에 계산에 유의하여야 한다.
이를 신경쓰고 싶지 않다면 unsigned int 형으로 계산하는 것이 편할 수 있다.
'복습' 카테고리의 다른 글
함수 객체 ( functor ; 펑터 ) (0) | 2023.10.06 |
---|---|
함수 포인터 (0) | 2023.10.06 |
우선순위 큐 (priority_queue) (1) | 2023.10.05 |
가위 바위 보 (0) | 2023.08.07 |
16진법과 2진법의 관계 (0) | 2023.08.07 |