이 ">> ="연산자는 C에서 무엇을 의미합니까?

Rotom92
unsigned long set;
/*set is after modified*/
set >>= 1;

커널 시스템 호출에서 이것을 찾았지만 이해가되지 않습니다. 어떻게 작동합니까?

그리 예쉬 차우 한

발현 set >>= 1;수단 set = set >> 1;의 오른쪽 시프트 비트 set에 의해 1(자기 할당 형태 >>비트 오른쪽 시프트 연산자 체크 비트 시프트 연산자 ).

다음과 같다고 가정합니다 set.

BIT NUMBER    31   n=27        m=17                 0
              ▼    ▼           ▼                    ▼
set =         0000 1111 1111 1110 0000 0000 0000 0000

그런 다음 set >> = 1;변수 set는 다음과 같습니다.

BIT NUMBER    31   n=26        m=16                 0
              ▼     ▼           ▼                   ▼
set =         0000 0111 1111 1111 0000 0000 0000 0000

이동 된 비트 수를 확인하십시오.

흥미로운 점을 참고하기 때문에 set이다 unsigned long이 때문에 >>작업을해야 으로 논리 시프트 ( 부호 변화 ) 논리적 변화는 숫자의 부호 비트를 보존하지 않습니다.

또한 모든 비트를 오른쪽 (하위 유효 숫자쪽으로)으로 이동하므로 오른쪽 이동 하나는 = 숫자를 2로 나눕니다.

이 코드를 확인하십시오 (마지막 요점을 보여주기 위해) :

int main(){
 unsigned long set = 268304384UL;
 set >>= 1;
 printf(" set :%lu \n", set);
 set = 268304384UL;
 set /= 2;
 printf(" set :%lu \n", set);
 return 1; 
}

그리고 출력 :

 set :134152192 
 set :134152192

(주 : 그하지 의미 않습니다 >>/모두 동일)

마찬가지로 <<=왼쪽 시프트에 대한 연산자가 있고 사용 가능한 다른 비트 연산자복합 할당 연산자 를 확인하고 섹션 : 비트 식 및 차이점 : 부호 / 산술 시프트 및 부호없는 시프트도 확인 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 ">> ="연산자는 C에서 무엇을 의미합니까?

분류에서Dev

이 연산자는 C ++에서 무엇을합니까?

분류에서Dev

C #에서 "<<"연산자는 무엇을 의미합니까?

분류에서Dev

이 문자 / 연산자는 javascript / jquery 선택에서 무엇을 의미합니까?

분류에서Dev

이 문자 / 연산자는 javascript / jquery 선택에서 무엇을 의미합니까?

분류에서Dev

=> 연산자는 Swift에서 무엇을 의미합니까?

분류에서Dev

<연산자는 파이썬에서 또 무엇을합니까?

분류에서Dev

이항 연산자 <<는 무엇을 의미합니까?

분류에서Dev

이 Func <T, TReturn>에서 첫 번째 화살표 연산자는 무엇을 의미합니까?

분류에서Dev

구조체 안의 연산자 ":"는 C에서 무엇을 의미합니까?

분류에서Dev

Coq의 두 명제 사이에 더하기 '+'연산자는 무엇을 의미합니까?

분류에서Dev

이 기호 "[=]"는 C ++에서 무엇을 의미합니까?

분류에서Dev

이 기호 "[=]"는 C ++에서 무엇을 의미합니까?

분류에서Dev

oracle pl sql.is에서 => 의미는 무엇이며 연산자를 호출합니까?

분류에서Dev

oracle pl sql.is에서 => 의미는 무엇이며 연산자를 호출합니까?

분류에서Dev

@ 연산자는 다트에서 정확히 무엇을 의미합니까?

분류에서Dev

줄리아에서 // 연산자는 무엇을 의미합니까?

분류에서Dev

switch 문에서 쉼표 연산자는 무엇을 의미합니까?

분류에서Dev

Javascript에서 연산자 / 수학 기호 ">>"는 무엇을 의미합니까?

분류에서Dev

쉘 스크립트에서 연산자`-gt`는 무엇을 의미합니까?

분류에서Dev

-= 연산자는 scala def 컨텍스트에서 무엇을 의미합니까?

분류에서Dev

연산자 + =는 파이썬에서 무엇을 반환합니까?

분류에서Dev

이 문맥에서 C에서 int **는 무엇을 의미합니까?

분류에서Dev

이 mkfs.ext4 피연산자는 무엇을 의미합니까?

분류에서Dev

대괄호 안의 C ++ 연산자는 무엇을 의미합니까?

분류에서Dev

연산자 []는 C ++에서 int 이외의 유형을 허용합니까?

분류에서Dev

생성자에서 이것은 무엇을 의미합니까?

분류에서Dev

이 일련의->, 화살표 연산자는이 PHP 구성에서 무엇을합니까?

분류에서Dev

이 문맥에서`typedef`는 무엇을 의미합니까?

Related 관련 기사

  1. 1

    이 ">> ="연산자는 C에서 무엇을 의미합니까?

  2. 2

    이 연산자는 C ++에서 무엇을합니까?

  3. 3

    C #에서 "<<"연산자는 무엇을 의미합니까?

  4. 4

    이 문자 / 연산자는 javascript / jquery 선택에서 무엇을 의미합니까?

  5. 5

    이 문자 / 연산자는 javascript / jquery 선택에서 무엇을 의미합니까?

  6. 6

    => 연산자는 Swift에서 무엇을 의미합니까?

  7. 7

    <연산자는 파이썬에서 또 무엇을합니까?

  8. 8

    이항 연산자 <<는 무엇을 의미합니까?

  9. 9

    이 Func <T, TReturn>에서 첫 번째 화살표 연산자는 무엇을 의미합니까?

  10. 10

    구조체 안의 연산자 ":"는 C에서 무엇을 의미합니까?

  11. 11

    Coq의 두 명제 사이에 더하기 '+'연산자는 무엇을 의미합니까?

  12. 12

    이 기호 "[=]"는 C ++에서 무엇을 의미합니까?

  13. 13

    이 기호 "[=]"는 C ++에서 무엇을 의미합니까?

  14. 14

    oracle pl sql.is에서 => 의미는 무엇이며 연산자를 호출합니까?

  15. 15

    oracle pl sql.is에서 => 의미는 무엇이며 연산자를 호출합니까?

  16. 16

    @ 연산자는 다트에서 정확히 무엇을 의미합니까?

  17. 17

    줄리아에서 // 연산자는 무엇을 의미합니까?

  18. 18

    switch 문에서 쉼표 연산자는 무엇을 의미합니까?

  19. 19

    Javascript에서 연산자 / 수학 기호 ">>"는 무엇을 의미합니까?

  20. 20

    쉘 스크립트에서 연산자`-gt`는 무엇을 의미합니까?

  21. 21

    -= 연산자는 scala def 컨텍스트에서 무엇을 의미합니까?

  22. 22

    연산자 + =는 파이썬에서 무엇을 반환합니까?

  23. 23

    이 문맥에서 C에서 int **는 무엇을 의미합니까?

  24. 24

    이 mkfs.ext4 피연산자는 무엇을 의미합니까?

  25. 25

    대괄호 안의 C ++ 연산자는 무엇을 의미합니까?

  26. 26

    연산자 []는 C ++에서 int 이외의 유형을 허용합니까?

  27. 27

    생성자에서 이것은 무엇을 의미합니까?

  28. 28

    이 일련의->, 화살표 연산자는이 PHP 구성에서 무엇을합니까?

  29. 29

    이 문맥에서`typedef`는 무엇을 의미합니까?

뜨겁다태그

보관