가능한 중복은 :
Python - '>>' operator파이썬에서 이중 불평등 (>>) 기호는 무엇입니까?
이 수행하는 코드가있다 :
x = n - 1 >> 1
좀 더 구문을 제공해야하는 경우 나도 몰라,하지만은 않습니다 >> 의미? 나는 모든 것을 조사해 왔지만 어떤 설명도 찾을 수 없다.
가능한 중복은 :
Python - '>>' operator파이썬에서 이중 불평등 (>>) 기호는 무엇입니까?
이 수행하는 코드가있다 :
x = n - 1 >> 1
좀 더 구문을 제공해야하는 경우 나도 몰라,하지만은 않습니다 >> 의미? 나는 모든 것을 조사해 왔지만 어떤 설명도 찾을 수 없다.
오른쪽으로 시프트하는 것은 비트 단위로 비트 단위로 이동하도록 지시하는 비트 단위 연산입니다. 이 경우 2로 나누는 것과 같은 1 씩 이동합니다.
비트 연산을 이해하지 못하면 기억할 간단한 변환이됩니다.
X >> N
그것이 bitwise shift-to-right operator이다
X // (2 ** N)
확실하게'x // (2 ** n)'을 의미합니까? –
@Daniel Pryden 오, 나는 바보예요. 고맙습니다. –
동일하다.
그것은 식의 오른쪽에 번호가 오른쪽으로 정수 인수의 비트 시프트: 바이너리
>>> 8 >> 2
2
또는 예시 :
>>> bin(0b1000 >> 2)
'0b10'
코드 스 예 그것은 산술 연산과 비트 연산을 혼합하기 때문에 사실 두 배로 혼란 스럽습니다. 그것은 대신 '//' integer division operation 사용해야합니다
x = (n - 1) // 2
정수를 바이너리 형식으로 변환하는 작업이 필요하다고 생각합니다. 이중 // 연산이란 무엇입니까? – yeenow123
@ yeenow123 : 설명서 (현재 내 대답에 링크되어 있음)는 "(바닥에) x와 y의 지수"라고 말합니다. 바닥 (x/y)으로 번역 할 수 있습니다. 따라서'8 // 2'는 4이지만'9 // 2'도 마찬가지입니다. –
x >> y
은 동일합니다
x.__rshift__(y)
다른 사람이 말했다 같은 bitshift 될 운명이된다.
>>는 비트 오른쪽 시프트 연산자입니다. 이 연산자는 첫 번째 피연산자의 모든 비트를 두 번째 피연산자만큼 오른쪽으로 이동합니다.
그래서하십시오 >> B = A // 2 ** B
예 : 이진
참고 인 18
대부분의 다른 언어와 마찬가지로 비트 쉬프트라고 생각합니다. – Wug
파이썬 비트 연산자에 대한 [this brief explantion] (http://wiki.python.org/moin/BitwiseOperators)를 참조하십시오. 그러면 인터넷 검색을 시작할 수 있습니다. –