Module: 비트 연산(Python)


Problem

6/13

숫자의 부호 결정

Theory Click to read/hide

비트 연산

컴퓨터 메모리의 모든 숫자는 이진 형식으로 저장됩니다. 0과 1의 시퀀스로. 
컴퓨터 메모리에 숫자를 저장하려면 한정된 자릿수가 사용됩니다. 이 때문에 컴퓨터의 숫자는 범위가 제한되어 계산 결과가 정확하지 않을 수 있습니다.
정수는 메모리의 8, 16, 32 또는 64비트에 저장할 수 있습니다. 각 추가 비트는 가능한 값의 범위를 2씩 확장합니다. 
양수 및 음수 연산은 프로세서에서 동일한 알고리즘을 사용하여 수행됩니다.

비트 논리 연산의 도움으로 프로세서 및 외부 장치 레지스터의 개별 비트를 제어할 수 있습니다. 
  <헤드> <몸> 에 대한 비트별 And에 대한 비트별 ORab에 대한 로 비트 오른쪽 이동


연산 AND
연산 "AND"를 사용하면 마스크가 0인 비트를 재설정(0으로 설정)할 수 있습니다! 
 
마스크– 다중 비트 숫자의 비트에 대한 논리 연산의 범위를 정의하는 상수입니다.

D - 데이터, M - 마스크

연산 OR
연산 "OR"은 마스크가 1인 비트에 1을 쓰는 데 사용할 수 있습니다!

연산 독점적 OR
작업 "XOR"을 사용하면 마스크가 1인 비트를 반전시킬 수 있습니다!

왼쪽으로 이동
논리(비트 단위) 1씩 왼쪽 이동 비트는 양의 정수를 두 배로 만듭니다.

오른쪽으로 이동
부울(비트) .오른쪽으로 1씩 이동  양의 정수를 2로 나눕니다.


오른쪽 시프트는 빈 위치에 부호 비트를 설정하므로 x의 부호는 변수의 전체 길이를 오른쪽으로 시프트하여 결정할 수 있습니다.

Problem

숫자 x를 지정하십시오. 숫자의 부호를 결정하십시오.
 
파이썬 작업 목적지
a & b ab
<코드>a | b ab
a ^ b OR
~a a에 대한 비트 반전
<< b a에서 b로 왼쪽 비트 이동
a >> b ab
<헤드> <일># <몸>
함수 내에서 4개의 공백을 들여씁니다.

입력 출력
1 10 1
2 -10 -1
3 0 0
Write the program below
def getSign(x):
    if x != 0:
        mask = 1
    else:
        mask = 0          
# основная программа
x = int(input())
print(getSign(x))
               

     

Program check result

To check the solution of the problem, you need to register or log in!