<< >>
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으로 채움
[Java] 반복문(while - do) (0) | 2023.01.03 |
---|---|
[Java] 조건문(성적 판정 if문을 switch로 전환) (1) | 2023.01.03 |
[Java] 여러가지 연산자_2(int숫자 4자리 2진수로 변환 And 연산) (0) | 2023.01.02 |
[Java] 변수와 자료형_4(리스트에서 remove + indexOf 사용법) (0) | 2023.01.02 |
[Java] 변수와 자료형_3(문자열string 비교 equals, ==) (0) | 2023.01.02 |
댓글 영역