대부분의 언어는 비트 연산자를 제공합니다. 비트 연산자는 c, c 등의 언어에서 널리 사용되지만 JS, AS 등의 스크립팅 언어에는 적용 사례가 많지 않습니다. 비트 연산자를 사용하여 좋은 결과를 얻으십시오.
다음은 제가 알고 있는 내용을 바탕으로 js에서 비트 연산을 사용하는 방법에 대한 간략한 설명입니다(다른 언어에도 적용됩니다). 오류가 있으면 수정해 주세요.
비트 연산자는 피연산자를 숫자 값이 아닌 일련의 개별 비트로 처리합니다. 그래서 그 전에 "비트"가 무엇인지 언급해야 합니다.
숫자나 문자는 0과 1의 순서로 메모리에 저장됩니다. 각각의 0과 1을 비트라고 합니다. 예를 들어 10진수 데이터 2는 다음과 같이 저장됩니다. 컴퓨터는 0 0 0 0 0 1 0으로 표시됩니다. 메모리의 비트 값을 변경하면 이 값의 의미도 변경됩니다. 예를 들어 2의 앞부분을 한 자리 이동하면 이제 저장 단위가 0 0 0이 됩니다. 0 0 1 0 0. 이 값은 비트 연산자의 작동 원리인 10진수 4를 나타냅니다.
6개의 비트 연산자
& 비트 AND
| 비트 또는
^ 비트 XOR
~ 부정
>>
<<왼쪽으로 이동
1 & 연산자
&는 피연산자의 해당 비트를 특정 방식으로 결합하는 이진 연산자입니다. 해당 비트가 모두 1이면 결과는 1입니다. 0이면 결과는 0
1과 3의 결과는 1
작동 방식을 살펴보겠습니다.
1의 이진 표현은 0 0 0 0 0 0 1
3의 이진 표현으로 표현되었습니다. as 0 0 0 0 0 1 1
&의 규칙에 따라 얻은 결과는 0 0 0 0 0 0 0 1입니다. 소수점 표현은 1입니다
비트 하나라도 0이면 & 연산의 결과는 0이므로 &를 사용하여 변수의 불필요한 비트를 0으로 설정할 수 있습니다. 예를 들어 변수의 이진 표현은 0 1 0 0입니다. 1 0 0 1, I 하위 4비트를 유지하려면 & 0x0F를 사용하여 상위 4비트를 제거하세요(기억하세요: 0x0F는 16진수 표기법이고 해당 이진수는 0 0 0 0 1 1 1 1입니다). 이 기능에는 매우 중요한 응용 프로그램이 있습니다. 나중에 언급하겠습니다.
2 | 연산자
|와 &의 차이점은 해당 비트의 피연산자가 1이면 결과는 1입니다.
1 | 3의 결과는 3입니다.
^ 연산자는 |와 유사하지만 한 가지 차이점은 두 연산 비트가 모두 1이면 결과는 0
0 1 0 0 0 0 0 1
0 1 0 1입니다. 1 0 1 0
은 0 0 0 1 1 0 1 1
을 산출합니다.
~는 비트 부정, 1은 0으로 변경, 0은 1로 변경
<<는 왼쪽으로 이동하고 >>는 오른쪽으로 이동합니다. , 빈 비트는 0으로 채워집니다
0 0 0 0 0 0 0 0 0 0 0 1 1 0이 됩니다. 0 (십진수 12)
오른쪽으로 두 자리 이동한 것은
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 (십진수 4096)
다음은 몇 가지 특정 응용 프로그램을 소개합니다
앞서 언급했듯이 2는 1자리 앞으로 이동하여 4가 됩니다. 이 기능은 곱셈 연산을 수행하는 데 사용할 수 있습니다
2 <<
3 << 1 = 6
4 << 1 = 8
마찬가지로>>
예: 3.14159 >> 0 = 3;
^컴퓨팅 서비스에는 마법 같은 기능이 있습니다