Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 다양한 유형의 연산자


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를 가리킬 것입니다.