[10] 오토핫키 완벽분해 강좌 - 연산자 [2. 비교 연산자, 논리 연산자]

Posted by 아이티프로13
2019. 3. 31. 01:00 프로그래밍/AutohotKey

안녕하세요. 쿠과자입니다.

이번에는 저번시간에 말씀드렸듯이, 연산자의 연장으로

논리 연산자와, 증감 연산자에 대해서 알아보도록 하겠습니다.

살짝 지루해 질 수 있어도, 집중해서 공부해봅시다.


2019/03/30 - [프로그래밍/AutohotKey] - [9] 오토핫키 완벽분해 강좌 - 연산자 [1. 산술 연산자, 대입 연산자]



참인지 거짓인지 판정 - 비교 연산자



비교 연산자는 수식을 비교해 그 결과가 참인지 거짓인지 판단하는 비교 연산자입니다.

대충 눈치 좋으신 분들은 아시겠지만, 이 경우 if문을 통한 분기점 설정 등에 자주 쓰입니다.

그렇기 때문에, 꼭 필요하다고 할 수 있습니다.


vara = 1

varb = 1

result := (vara == varb)

msgbox,%result%

result := (vara > 1)

msgbox,%result%

result := (vara <= 1)

msgbox,%result%

return


위의 식에서 처음 보는 건 각각 ==, >, <= 이 세개죠.

이들은 논리 연산자로, 각각의 수식이 참인지 거짓인지를 반환합니다.


== 는 양 변이 동일한지, != 는 양 변이 동일하지 않은지,

< 와 > 는 각각 한쪽이 더 큰지,

<=와 >= 는 각각 한쪽이 더 크거나 같은지를 판단하여

참이면 1, 거짓이면 0을 반환합니다.


아직은 고작 작은 수밖에 안되지만,

나중에 if문으로 나오면 정말 많이 사용하기 때문에

꼭! 알아둬야 되는 연산자입니다.





논리 연산자


다음으로, 논리 연산자입니다

논리 연산자는 비교 연산자를 많이 사용할 때 유용한데요,

흔히 영어에서 생각하는 AND와 OR을 생각하면 편합니다.


AND 경우 양 수식이 참(1) 이면 참(1)을 반환하고

하나라도 거짓이(0)라면 거짓(0)을 반환합니다.


OR의 경우 둘 중 하나의 수식만 참이라면 참을 반환하고

둘다 거짓이라면 거짓을 반환합니다.


vara = 1

varb = 1

varc = 1

vard = 2

result := (vara == varb) and (vara == varc)

msgbox,%result%

result := (vara == varb) and (vara == vard)

msgbox,%result%

result := (vara == varb) OR (vara == vard)

msgbox,%result%

result := (vara == varb) || (vara == varc)

msgbox,%result%

return


위의 코드를 살펴봅시다.

첫번째의 경우 좌(vara == varb) 와 우(vara == varc)의 값이 각각 참(1) 이겠죠?

이 때 and 연산을 해주기 때문에 result에는 1이 저장이 됩니다.


두번째의 경우 좌는 참이지만, 우측의 값이 거짓이라서 거짓을 반환해주고,


세번째의 경우는 OR 연산이기 때문에 한쪽 값이 거짓이여도 정상적으로 참을 반환해주는 모습입니다.


네번쨰의 경우, || 을 썼는데(쉬프트+\) 이는 OR과 100% 동일한 겁니다. 즉 OR 대신 사용한 모습입니다.

AND의 경우 &&(쉬프트+6) 으로 대신할수 있고,

OR의 경우 ||(쉬프트+\) 으로 대신할 수 있습니다.




정리


지금까지 연산자의 종류에 대해서 알아봤습니다.

여러가지 연산자가 많아서 헷갈리는 분들도 많을 겁니다만.. 꼭 알아야 하는거니 열심히 공부하시길 바랍니다.


아래는 다른분이 정리해주신 연산자 표입니다.

참고해 보시길 바랍니다

출처 http://autohotkey.kro.kr/221000117205


 연산자 (혹은 수식)
설명
종류
예제
+
더한다
산술 연산자
2 + 3 = 5
-
뺀다
산술 연산자
2 - 3 = -1
*
곱한다
산술 연산자
2 * 3 = 6
/
나눈다
산술 연산자
2 / 3 = 0.66666...
**
거듭제곱
산술 연산자
5 ** 3 =125
//
몫을 구한다
산술 연산자
5 // 3 = 1
:=
대입한다 (집어 넣는다)
대입 연산자
a := 1
.=
누적 대입한다 (쌓는다)
대입 연산자
a .= 1
a > b
a가 b보다 크다
비교 연산자
a > b
a < b
a가 b보다 작다
비교 연산자
a < b
a >= b
a가 b보다 크거나 같다
비교 연산자
a >= b
a =< b
a가 b보다 작거나 같다
비교 연산자
a =< b
=
같다
비교 연산자
a = b
<>
다르다
비교 연산자
a <> b
+=
더해서 대입
산술/대입 연산자
a += 1
-=
빼서 대입
산술/대입 연산자
a -= 1
*=
곱해서 대입
산술/대입 연산자
a *= 2
/=
나눠서 대입
산술/대입 연산자
a /= 2s
&&
그리고
논리 연산자
a = b && b = c
||
또는
논리 연산자
a = b || b = c
!
부정
논리 연산자
!= (같지 않다)
++
값을 1 증가시킨다
증감 연산자
a++
--
값을 1 가감시킨다
증감 연산자
a--
Mod(나눠지는수,나누는수)
나머지 구하기
수식
Mod(3,2) -> 1
Ceil(수,자릿수)
올림
수식
Ceil(2.6666,2) -> 2.67
Floor(수,자릿수)
버림
수식
Floor(2.6666,2) -> 2.66
Round(수,자릿수)
반올림
수식
Round(2.6666,2) -> 2.67
abs(수)
절댓값
수식
abs(-1) -> 1
Sin(수),Cos(수),Tan(수)
사인/코사인/탄젠트
수식

Sin(30) -> 0.5


다음 시간에는 쉬어가는 시간으로,

주석에 대해 간단히 알아보도록 하겠습니다.


감사합니다.


공감 버튼을 눌러주시면

블로거에게 힘이 됩니다!