Back to archive

TIL

20221027

비교연산자 Bool(True/False)A==B // 값이 같다.A!=B // 값이 같지 않다.A>=B // 값이 크거나 같다.A<=B // 값이 작거나 같다.A>B // 값이 크다.A<B // 값이 작다.논리연산자(AND/OR)논리곱(Conditional

Read original on VelogOriginal article in Korean

논리연산자

  1. 비교연산자 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
  1. 논리연산자(AND/OR)
  • 논리곱(Conditional AND) : 둘 중 하나라도 거짓이면 거짓
true && false == false
true && true == true

*논리합(Conditional OR) : 둘 중 하나라도 참이면 참

true || false == true
true || true == true
  1. 비트연산자(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
Back to archive