비트 연산
컴퓨터 메모리의 모든 숫자는 이진 형식으로 저장됩니다. 0과 1의 시퀀스로. 컴퓨터 메모리에 숫자를 저장하기 위해 한정된 수의 비트가 사용됩니다. 이 숫자로 인해 컴퓨터 범위가 제한되어 계산 결과가 정확하지 않을 수 있습니다. 정수는 메모리의 8, 16, 32 또는 64비트에 저장할 수 있습니다. 각 추가 비트는 가능한 값의 범위를 2씩 확장합니다.
양수 및 음수 연산은 프로세서에서 동일한 알고리즘을 사용하여 수행됩니다.
비트 논리 연산의 도움으로 프로세서 및 외부 장치 레지스터의 개별 비트를 제어할 수 있습니다.
<헤드>
C++ 작업 |
목적지 |
것>
<몸>
a & b |
a 및 b | 에 대한 비트별 And
<코드>a | b |
a 및 b | 에 대한 비트별 OR
a ^ b |
a
및 b
에 대한 X OR
|
~a |
a 에 대한 비트 반전 |
<< b |
a 에서 b 로 왼쪽 비트 이동 |
a >> b |
a 를 b | 로 비트 오른쪽 이동
테이블>
연산 AND
연산 "AND
"를 사용하면 마스크가 0인 비트를 재설정(0으로 설정)할 수 있습니다!
마스크– 다중 비트 숫자의 비트에 대한 논리 연산의 범위를 정의하는 상수입니다.
D
- 데이터, M
- 마스크
연산 OR
연산 "OR
"은 마스크가 1인 비트에 1을 쓰는 데 사용할 수 있습니다!
연산 독점적 OR
작업 "XOR
"을 사용하면 마스크가 1인 비트를 반전시킬 수 있습니다!
왼쪽으로 이동
논리(비트 단위) 1씩 왼쪽 이동
비트는 양의 정수를 두 배로 만듭니다.
오른쪽으로 이동
부울(비트) .오른쪽으로 1씩 이동
양의 정수를 2로 나눕니다.
오른쪽 시프트는 빈 위치에 부호 비트를 설정하므로 x
의 부호는 변수의 전체 길이를 오른쪽으로 시프트하여 결정할 수 있습니다.
Problem
숫자
x
를 지정하십시오. 숫자의 부호를 결정하십시오.
누락된 코드 조각을 프로그램에 추가합니다.
예
<헤드>
<일>#일>
입력 |
출력 |
것>
<몸>
1 |
10 |
1 |
2 |
-10 |
-1 |
3 |
0 |
0 |
테이블>