728x90
반응형
비트 연산자는 글을 쓰다보니 길어져 따로 쓰는게 나을것 같았다.
비트 연산자
비트값을 바로 비교해 사용하기때문에 매우 빠르다는 장점이 있다.
그러나 좀 헷갈릴 수 있다. 주의해서 사용하도록 하자.
1. &(AND)
두 비트값을 비교해서 비트값을 둘다 1이면 1로 둘다 0이면 0으로 만든다.
var first: UInt8 = 0b11110000
var second: UInt8 = 0b01110000
var result = String(first & second, radix: 2) //01110000
/*
* 11110000
* 01110000
* -----------
* 01110000
*/
2. |(OR)
두 비트중 하나라도 1이면 1로 만든다.
var one: UInt8 = 0b10110000
var two: UInt8 = 0b01101000
var result = String(one | two, radix: 2) //11111000
/*
* 10110000
* 01101000
* -----------
* 11111000
*/
3. ^(XOR)
두 비트가 서로 다르면 1, 같으면 0으로 만든다.
var one: UInt8 = 0b10110000
var two: UInt8 = 0b01101000
var result = String(one ^ two, radix: 2) //11011000
/*
* 10110000
* 01101000
* -----------
* 11011000
*/
4. ~(NOT)
비트값을 반대로 뒤집는다.
var one: UInt8 = 0b11110000
var result = String(~one, radix: 2) //00001111
/*
* 11110000
* -----------
* 00001111
*/
5. <<(Left Shift)
변수 << n
라 쓰며 비트를 n칸 만큼 왼쪽으로 움직인다.
var one: UInt8 = 0b11110000
var result = String(one << 1, radix: 2) //11100000
/*
* 11110000
* -----------
* 11100000
*/
6. >>(Right Shift)
변수 >> n
라 쓰며 비트를 n칸 만큼 오른쪽으로 움직인다.
var one: UInt8 = 0b11110000
var result = String(one >> 1, radix: 2) //01111000
/*
* 11110000
* -----------
* 01111000
*/
스위프트 문법 - 비트 연산자
728x90
반응형
'공부 > Apple' 카테고리의 다른 글
[스위프트] 조건문(if, guard, switch) 종류와 사용법 (0) | 2023.07.03 |
---|---|
[스위프트] 반복문(for ~ in, while, repeat ~ while) 종류와 사용법 (0) | 2023.07.02 |
[스위프트] 연산자 종류와 사용법 (0) | 2023.07.02 |
[스위프트] 문자열 템플릿, 쿼우팅 (0) | 2023.07.01 |
[스위프트] String과 Character (0) | 2023.07.01 |