«bit-shift» 태그된 질문

9
비트 시프트 (비트 시프트) 연산자 란 무엇이며 어떻게 작동합니까?
여가 시간에 C를 배우려고했지만 다른 언어 (C #, Java 등)는 동일한 개념 (그리고 종종 동일한 연산자)을 가지고 있습니다 ... 핵심 수준에서, 내가 궁금하다, 무슨 않는 비트 이동 ( <<, >>, >>>) 수행이 해결 할 수있는 문제 및 개는이 벤드 주위에 숨어 무엇? 다시 말해, 모든 선의의 비트 이동에 대한 절대 …

3
C에서 >>> = 연산자는 무엇입니까?
동료가 퍼즐로 생각할 때이 C 프로그램이 실제로 어떻게 컴파일되고 실행되는지 알 수 없습니다. 이 >>>=연산자와 이상한 1P1리터럴 은 무엇입니까 ? Clang과 GCC에서 테스트했습니다. 경고가없고 출력은 "???"입니다. #include <stdio.h> int main() { int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return 0; }

19
C에서 시프트 연산자를 사용한 곱셈과 나눗셈이 실제로 더 빠릅니까?
비트 연산자를 사용하여 곱셈과 나눗셈을 수행 할 수 있습니다 (예 : i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) 등등. 실제로 직접 (i<<3)+(i<<1)사용 i*10하는 것보다 10을 곱하는 것이 사용하는 것이 더 빠릅 니까? 이런 식으로 곱하거나 나눌 수없는 입력이 있습니까?


1
Python 3.x 정수의 경우 비트 시프트보다 2 배 빠릅니다.
나는 sorted_containers 의 출처를보고 있었고이 줄 을보고 놀랐습니다 . self._load, self._twice, self._half = load, load * 2, load >> 1 여기 load정수가 있습니다. 한 곳에서 비트 이동을 사용하고 다른 곳에서 곱셈을 사용하는 이유는 무엇입니까? 비트 쉬프팅이 2의 정수 나누기보다 빠를 수도 있지만, 곱셈을 쉬프트로 대체하지 않는 이유는 무엇입니까? 다음과 같은 …




3
11010100 << 1이 10101000이 아닌 110101000과 같은 이유는 무엇입니까?
11010100 2에 대해 비트를 이동하려고 하면 결과가 10101000 2 가 아니라 110101000 2 가 됩니다. int a = Integer.parseInt("11010100", 2) &lt;&lt; 1; 나는 이것을하려고합니다. int a = (byte)(Integer.parseInt("11010100", 2) &lt;&lt; 1); 그러나 출력 값이 128보다 크면 모든 것이 마이너스가되어 논리적입니다. 비트 수를 변경하지 않으려면 어떻게해야합니까?
40 java  bit-shift 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.