20221027
비교연산자 Bool(True/False)A==B // 값이 같다.A!=B // 값이 같지 않다.A>=B // 값이 크거나 같다.A<=B // 값이 작거나 같다.A>B // 값이 크다.A<B // 값이 작다.논리연산자(AND/OR)논리곱(Conditional
Read original on Velog ↗Original article in Korean
논리연산자
- 비교연산자 Bool(True/False)
- A==B // 값이 같다.
- A!=B // 값이 같지 않다.
- A>=B // 값이 크거나 같다.
- A<=B // 값이 작거나 같다.
- A>B // 값이 크다.
- A<B // 값이 작다.
let first = 1
let second = 2
first == 1 // true
first != second // true
first >= second // false
first <= second // true
first > second // false
first < second // true
- 논리연산자(AND/OR)
- 논리곱(Conditional AND) : 둘 중 하나라도 거짓이면 거짓
true && false == false
true && true == true
*논리합(Conditional OR) : 둘 중 하나라도 참이면 참
true || false == true
true || true == true
- 비트연산자(Bitwise operator)
- 논리 연산을 비트단위로 하는 연산자
// & 논리곱
a 01000001
b 00111001
a&b 00000001
// | 논리합
a 01000001
b 00111001
a|b 01111001
- 문법적 기능이 많지 않은 언어에서 비트연산은 프로그래밍에서 수학적 연산보다는 비트 검출이나 옵션 절달의 목적으로 사용
- Swift에서는 OptionSet이라는 프로토콜을 활용해서 같은 기능 구현
let pop: Int = 1 // 0001
let hiphop: Int = 2 // 0010
let ballad: Int = 4 // 0100
func printFavoriteMusics(selectedGenre: Int) {
print("좋아하는 장르는 Pop! \((selectedGenre & pop) != 0)")
print("좋아하는 장르는 HipHop! \((selectedGenre & hiphop) != 0)")
print("좋아하는 장르는 Ballad! \((selectedGenre & ballad) != 0)")
}
printFavoriteMusics(selectedGenre: pop | hiphop)
// 좋아하는 장르는 Pop! true
// 좋아하는 장르는 HipHop! true
// 좋아하는 장르는 Ballad! false