상세 컨텐츠

본문 제목

[Java] 여러가지 연산자_2(비트 이동 연산자, <<, >>, >>>)

Java/제로베이스

by Gopythor 2023. 1. 2. 05:01

본문

728x90
반응형

<< >> 

ex) 3>>1

3을 2진수로 변환해서 오른쪽으로 1칸 이동(부호 비트 상관 있음)

  bit1 bit2 bit3 bit4
3 0 0 1 1
결과 0 0 0 1

 

ex) 5 => -5

  bit1 bit2 bit3 bit4
5 0 1 0 1
-5 1 0 1 1

※ 5를 -5로 바꾸려면 비트를 전부 역전 시키고 마지막 숫자에 1을 더한다.

 

ex) -5를 계산 하는 법

  bit1 bit2 bit3 bit4
-5 1 0 1 1

 

원래 값을 더하면 양수를 계산할 수 있음(전부 0으로 만듦)

bit1 bit2 bit3 bit4
-5 1 0 1 1
0만들기       1
        0
bit1 bit2 bit3 bit4
-5 1 0 1(1)올림 1
0만들기     0 1
      0 0
bit1 bit2 bit3 bit4
-5 1 0(1)올림 1(1)올림 1
0만들기   1 0 1
    0 0 0
bit1 bit2 bit3 bit4
-5 1(1)올림 0(1)올림 1(1)올림 1
0만들기 0 1 0 1
  0 0 0 0

=> 0101이 원래 숫자였음

 

 

ex) -5 >>1 (>>는 MSB를 따름, 최상위 비트가 1이면 1, 0이면 0으로)

  bit1 bit2 bit3 bit4
-5 1 0 1 1
결과 1 1 0 1

 >>>는 부호 비트 상관 없이 0으로 채움

 

728x90
반응형

관련글 더보기

댓글 영역