C++에는 많은 유형의 연산자가 있습니다. 산술, 관계, 논리, 비트, 할당 및 기타 연산자로 광범위하게 분류할 수 있습니다.
산술 연산자
변수 A가 10을 보유하고 변수 B가 20을 보유하고 있다고 가정하고 -
연산자 | 설명 |
+ | 두 피연산자를 추가합니다. A + B는 30을 줄 것입니다 |
- | 첫 번째 피연산자에서 두 번째 피연산자를 뺍니다. A - B는 -10을 줄 것입니다. |
* | 두 피연산자를 곱합니다. A * B는 200을 줄 것입니다 |
/ | 분자를 분자로 나눕니다. B / A는 2를 줄 것입니다 |
% | 모듈러스 연산자 및 정수 나누기 후의 나머지. B % A는 0을 줄 것입니다 |
++ | 증가 연산자는 정수 값을 1만큼 증가시킵니다. A++는 11을 줄 것입니다. |
-- | 감소 연산자, 정수 값을 1 감소합니다. A-- 9를 줄 것입니다. |
관계 연산자
변수 A가 10을 보유하고 변수 B가 20을 보유하고 있다고 가정하고 -
연산자 | 설명 |
== | 두 피연산자의 값이 같은지 확인하고, 같으면 조건이 참이 됩니다. (A ==B)는 사실이 아닙니다. |
!= | 두 피연산자의 값이 같은지 확인하고 값이 같지 않으면 조건이 true가 됩니다.(A !=B)가 true입니다. |
> | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 큰지 확인하고, 그렇다면 조건이 참이 됩니다.(A> B)는 참이 아닙니다. |
< | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작은지 확인하고, 그렇다면 조건이 참이 됩니다.(A |
>= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같은지 확인하고, 그렇다면 조건이 참이 됩니다.(A>=B)는 참이 아닙니다. |
<= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같은지 확인하고, 그렇다면 조건이 참이 됩니다.(A <=B)는 참입니다. |
논리 연산자
변수 A가 1을 보유하고 변수 B가 0을 보유한다고 가정하면 -
연산자 | 설명 |
&& | 논리 AND 연산자라고 합니다. 두 피연산자가 모두 0이 아니면 조건이 참이 됩니다.(A &&B)는 거짓입니다. |
|| | 논리적 OR 연산자라고 합니다. 두 피연산자 중 하나라도 0이 아니면 조건이 true가 됩니다.(A || B)는 true입니다. |
! | 논리적 NOT 연산자라고 합니다. 피연산자의 논리 상태를 반전하는 데 사용합니다. 조건이 참이면 논리 NOT 연산자는 거짓을 만듭니다.!(A &&B)는 참입니다. |
비트 연산자
비트 연산자는 비트에 대해 작동하고 비트 단위 연산을 수행합니다. &, |, ^의 진리표는 다음과 같습니다.
pqp & qp | qp ^ q 00000 01011 11110 10011
A =60이라고 가정합니다. 및 B =13; 이제 바이너리 형식으로 다음과 같이 됩니다. -
A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~A = 1100 0011
연산자 | 설명 |
& | Binary AND 연산자는 두 피연산자 모두에 존재하는 경우 결과에 비트를 복사합니다.(A &B)는 0000 1100인 12를 제공합니다. |
| | 이진 OR 연산자는 피연산자 중 하나에 존재하는 경우 비트를 복사합니다.(A | B)는 0011 1101인 61을 제공합니다. |
^ | 이진 XOR 연산자는 하나의 피연산자에만 설정되어 있으면 비트를 복사합니다.(A ^ B)는 0011 0001인 49를 제공합니다. |
~ | 이진 1의 보수 연산자는 단항이며 비트 '뒤집기' 효과가 있습니다.(~A)는 부호 있는 이진수로 인해 2의 보수 형식으로 1100 0011인 -61을 제공합니다. . |
<< | 이진 왼쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 왼쪽으로 이동합니다. A <<2는 1111 0000인 240을 제공합니다. |
>> | 바이너리 오른쪽 시프트 연산자. 왼쪽 피연산자 값은 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동합니다. A>> 2는 0000 1111인 15를 제공합니다. |
할당 연산자
연산자 | 설명 |
= | 단순 할당 연산자, 오른쪽 피연산자에서 왼쪽 피연산자로 값을 할당합니다. C =A + B는 A + B의 값을 C에 할당합니다. |
+= | AND 할당 연산자 추가, 왼쪽 피연산자에 오른쪽 피연산자를 추가하고 결과를 왼쪽 피연산자에 할당합니다. C +=A는 C =C + A와 동일합니다. |
-= | 빼기 AND 대입 연산자, 왼쪽 피연산자에서 오른쪽 피연산자를 빼고 결과를 왼쪽 피연산자에 할당합니다.C -=A는 C =C - A와 같습니다. |
*= | 곱하기 AND 할당 연산자, 오른쪽 피연산자에 왼쪽 피연산자를 곱하고 결과를 왼쪽 피연산자에 할당합니다.C *=A는 C =C * A와 동일합니다. |
/= | 나누기 AND 할당 연산자, 왼쪽 피연산자를 오른쪽 피연산자로 나누고 결과를 왼쪽 피연산자에 할당합니다.C /=A는 C =C / A와 동일합니다. |
%= | 모듈러스 AND 할당 연산자, 두 개의 피연산자를 사용하여 모듈러스를 취하고 결과를 왼쪽 피연산자에 할당합니다.C %=A는 C =C % A와 동일합니다. |
<<= | 왼쪽 시프트 AND 대입 연산자.C <<=2는 C =C <<2와 동일합니다. |
>>= | 오른쪽 시프트 AND 할당 연산자.C>>=2는 C =C와 동일>> 2 |
&= | 비트 AND 대입 연산자.C &=2는 C =C &2와 동일 |
^= | Bitwise 배타적 OR 및 할당 연산자.C ^=2는 C =C ^ 2와 동일합니다. |
|= | 비트 포함 OR 및 할당 operator.C |=2는 C =C와 동일 | 2 |
기타 연산자
Sr.No | 연산자 |
1 | sizeof 연산자 변수의 크기를 반환합니다. 예를 들어 sizeof(a), 여기서 'a'는 정수이고 4를 반환합니다. |
2 | 조건 연산자(?:) 조건이 참이면 X 값을 반환하고 그렇지 않으면 Y 값을 반환합니다. |
3 | 쉼표 연산자 일련의 작업이 수행되도록 합니다. 전체 쉼표 표현식의 값은 쉼표로 구분된 목록의 마지막 표현식 값입니다. |
4 | (점) 및 → (화살표) 멤버 연산자는 클래스, 구조 및 공용체의 개별 멤버를 참조하는 데 사용됩니다. |
5 | () - 캐스팅 연산자는 한 데이터 유형을 다른 데이터 유형으로 변환합니다. 예를 들어, int(2.2000)는 2를 반환합니다. |
6 | 포인터 연산자 &는 변수의 주소를 반환합니다. 예를 들어 &a; 변수의 실제 주소를 제공합니다. |
7 | 포인터 연산자 *는 변수에 대한 포인터입니다. 예를 들어 *var; 변수 var를 가리킬 것입니다. |