비트 연산

비트 연산

정수는 10진수, 2진수, 16진수 형태로 쓸 수 있다는 점을 떠올려 봅시다.

13 (10진수) = 0b1101 = 0xd

> binString 함수와 hexString 함수를 사용하면 정수의 2진수 표현과 16진수 표현을 각각 얻을 수 있습니다.

2진수 값을 다룰 줄 알면 자주 반복되는 계산의 단계를 최적화하거나, 불리언 값의 묶음을 빠르게 처리할 수 있다는 이점이 있습니다.

2진수란 무엇인가

2진수는 하나의 숫자이면서 동시에 불리언 값의 배열을 나타낼 수 있습니다. 정수는 64비트이므로, 정수 하나로 64개의 불리언 값을 표현할 수 있습니다. 이하에서는 1인 비트를 true, 0인 비트를 false에 대응시켜 생각합니다.

사용 가능한 연산자와 함수

LeekScript의 비트 연산자는 다음과 같습니다.

비트 단위 조작을 돕는 전용 함수도 있습니다: testBit, setBit, bitCount, bitLength, trailingZeros, leadingZeros.

64비트를 넘는 정수를 다루려면 BigInteger를 참고하세요.

비트 마스크

비트 마스크는 숫자에서 특정 비트나 비트 묶음의 값을 꺼내는 데 사용됩니다.

인덱스 N의 비트 값 가져오기

인덱스 N의 값을 가져오려면:

연속된 N개 비트의 값 가져오기

마지막 N개 비트의 값을 가져오려면:

여기서 0b111...111은 1이 N번 반복되는 2진수로, 2**N-1과 같습니다.