[C++ 기초 플러스] 3장 정리

C++ 산술 연산자

C++는 기본 계산을 위한 5개의 연산자(더하기, 빼기, 곱하기, 나누기 및 나머지)를 제공합니다. 각 연산자는 편집할 두 개의 값이 필요합니다. 이를 피연산자라고 합니다.

산술 연산자 역할
+ 연산자 두 개의 피연산자를 더합니다.
– 연산자 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다.
* 연산자 두 피연산자를 곱합니다.
/ 연산자 첫 번째 피연산자를 두 번째 피연산자로 나눕니다.
% 운영자 첫 번째 피연산자를 두 번째 피연산자로 나누어 나머지를 찾습니다.

작업 순서: 우선 순위 및 조합 방향

둘 이상의 연산자가 피연산자에 포함될 때 먼저 적용되는 연산자를 결정하는 우선 순위 규칙이 있습니다. 산술 연산자는 일반 대수학의 우선 순위 규칙을 따릅니다. 즉, 곱셈, 나눗셈, 나머지는 덧셈과 뺄셈보다 먼저 수행됩니다. 물론 괄호를 사용하여 우선 순위 변경을 강제할 수 있습니다.

우선 순위가 같은 두 연산자가 피연산자에 적용되면 연관 방향 규칙이 적용됩니다. 왼쪽에서 오른쪽 조합에서는 왼쪽 연산자가 먼저 적용됩니다. 왼쪽 ← 오른쪽 조합에서는 오른쪽 연산자가 먼저 적용됩니다.

분할에 추가

나눗셈 연산자로 연산하면 피연산자의 데이터 유형에 따라 결과가 달라집니다.

C++에서 서로 다른 데이터형을 혼용하여 사용하는 경우 거기에 사용되는 모든 데이터형은 동일한 데이터형으로 변환된다.

데이터 유형 변환

할당 구문의 데이터 유형 변환

C++에서는 한 데이터 유형의 값을 다른 데이터 유형의 변수에 자유롭게 할당할 수 있습니다. 값은 대체할 변수의 데이터 유형으로 변환됩니다.

작은 범위 데이터 유형의 값을 큰 범위 데이터 유형에 매핑하는 것은 전혀 문제가 되지 않습니다. 그러나 float 변수에 큰 long 값이 할당되면 정밀도가 손실됩니다.

부동 소수점 숫자를 정수 유형에 할당할 때의 문제

첫 번째는 소수 부분이 버려지고 두 번째는 float 값이 너무 크면 int 유형 변수에 맞지 않는다는 것입니다.

수식의 데이터 유형 변환

C++는 두 가지 유형의 자동 데이터 유형 변환을 수행합니다.

첫째, 일부 데이터 유형은 발생할 때마다 자동으로 변환됩니다.

둘째, 수식에서 데이터 유형이 다른 데이터 유형과 혼합되면 데이터 유형이 변환됩니다.

수식의 데이터 유형 변환: 자동 데이터 유형 변환

표현식의 값을 평가할 때 bool, char, unsigned char, signed char 및 short 유형의 값은 int 유형으로 변환됩니다. 이 전환을 통합 프로모션이라고 합니다.

int는 컴퓨터에서 가장 자연스럽게 처리되는 데이터 유형이기 때문에 C++ 프로그램은 일반적으로 정수 값을 int로 변환하고 함께 더합니다. 그런 다음 추가 결과가 다시 계산되어 할당됩니다.

수식의 데이터 유형 변환: 혼합 데이터 유형의 변환

두 가지 데이터 유형이 작업에 관련된 경우 더 작은 데이터 유형이 더 큰 데이터 유형으로 변환됩니다.

데이터 유형 변환기

C++에서는 데이터 유형 변환기를 사용하여 데이터 유형을 강제로 변환할 수 있습니다.

(long) thorn
long (thorn)

데이터 유형 변환기는 변수 자체를 변경하지 않고 주어진 데이터 유형의 새 값을 생성합니다.