프로그래밍 언어/C언어

C언어 기초이론 (연산자 정리)

chobyeonggyu03 2024. 6. 13. 14:30

관계 연산자 (대소비교 연산)

>
num1 > num2
num1이 num2 보다 크면 1반환, 아니면 0반환
<
num1 < num2
num1이 num2 보다 작으면 1반환, 아니면 0반환
==
num1 == num2
(num1 = num2)
num1이 num2이랑 같으면 1반환, 아니면 0반환
!=
num1 != num2
num1이 num2이랑 다르면 1반환, 아니면 0반환
<=
num1 <= num2
num1이 num2 이하면 1반환, 아니면 0반환
>=
num1 >= num2
num1이 num2 이상이면 1반환, 아니면 0반환

논리 연산자 (논리구조를 연산)

&&
AND 논리 연산자
( A && B )
A와B가 모두 참이면 1을 반환, 아니면 0을 반환
||
OR 논리 연산자
( A || B )
A와B 둘중 하나만 참이여도 1을 반환, 아니면 0을 반환
!
!= 연산자
( !A )
A가 아니면 1을 반환, 맞으면 0을 반환

비트 연산자 (비트를 활용하는 연산)

&
AND 연산자
(num1 & num2)
00000000 00000000 00001111
00000000 00000000 00010100
---------------------------------------------
00000000 00000000 00000100
(비트가 모두 1일때만 1을 반환)
|
OR 연산자
(num1 | num2)
00000000 00000000 00001111
00000000 00000000 00010100
---------------------------------------------
00000000 00000000 00011111
(비트가 둘중 하나라도 1이면 1을 반환)
^
!= 연산자
NOT 연산자
(num1 ^ num2)
00000000 00000000 00001111
00000000 00000000 00010100
---------------------------------------------
00000000 00000000 00011011
(비트가 서로 다를 경우에 1을 반환)
~
반전 연산자
보수 연산자
(num1 = ~num2))
00000000 00000000 00001111
---------------------------------------------
11111111 11111111 11110000
(0과 1을 바꾸어 반환, 앞이 1이므로 음수이며 2의보수로 크기 계산)
(2의 보수를 계산시에는 0과1을모두 바꾼후 원래 부호+ 크기에 +1)
<<
비트열을 왼쪽으로 이동시키는 연산자
(num1 << num2)
00000000 00000000 00001111
---------------------------------------------
00000000 00000000 01111100
(비트 열을 왼쪽으로 num2 크기만큼 이동시키는 연산자 )
>>
비트열을 오른쪽으로 이동시키는 연산자
(num1 >> num2)
11111111 11111111 11110000
---------------------------------------------
001111111 11111111 1111100
(비트 열을 오른쪽으로 num2 크기만큼 이동시키는 연산자 )