더북(TheBook)

비교 자신이 받은 피연산자의 데이터 타입과 다른 데이터 타입 결과를 생성하는 혼합형(mixed-type) 연산자도 있다. 비교 연산자(comparison operator)(==, !=, <, <=, >,>=)는 대표적인 혼합형 연산자로서, 정수형과 실수형에 대해 모두 정의되어 있으며, 불형 결과를 반환한다. 연산은 데이터 타입에 대해서만 정의되므로, 각각의 비교 연산자는 데이터 타입 별로 정의된다. 비교할 피연산자들은 서로 호환되는 데이터 타입이어야 하며, 결과는 언제나 불형이다.

▼ 표 1.2.12 int 연산자의 비교와 불형 결과

연산자

의미

True

False

==

같다

2 == 2

2 == 3

!=

다르다

3 != 2

2 != 2

 

작다

2 < 13

2 < 2

<=

작거나 같다

2 <= 2

3 <= 2

>

크다

13 > 2

2 > 13

>=

크거나 같다

3 >= 2

2 >= 3

 

숫자 표기법에 대해 깊이 파고들지 않더라도, 데이터 타입에 따라 비교 연산이 상당히 다를 것이라는 것은 명백히 알 수 있다. 예를 들어 (2 <= 2)True인지 검사하기 위해 두 개의 정수를 비교하는 것과 (2.0 <= 0.002e3)True인지 검사하기 위해 두 개의 실수를 비교하는 것은 아주 다르다. 그렇지만 각각의 비교 연산이 데이터 타입 별로 잘 정의되어 있으므로, [표 1.2.13]에서 보는 것처럼 (b*b - 4.0*a*c) >= 0.0 등의 조건을 검사하는 코드를 작성하는 데 유용하게 쓰인다.

▼ 표 1.2.13 비교 표현식 예

판별식이 양수인가?

(b*b – 4.0*a*c) >= 0.0

세기의 시작 년도인가?

(year % 100) == 0

달의 값이 올바른가?

(month >= 1) and (month <= 12)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.