코딩 연습장/JAVA

자바로 코딩해보기(기초 5) - 비트 연산자, 비트 쉬프트 연산자

Do아 2021. 3. 15. 14:32
728x90

기록 #7

2020.05.31(일)

자바에서 비트연산자, 비트 쉬프트 연산자

※자바 연산자 참고※

https://blog.naver.com/ehdk1409/221984595179

자바로 코딩해보기(기초 4) - 연산자

기록 #62020.05.30(토)자바에서 쓰이는 연산자​​​​※ 자바 변수와 자료형 참고 ※https://blog.naver.c...

blog.naver.com

비트 연산자

&

비트단위로 and연산

|

비트단위로 or연산

^

비트단위로 xor

~

피연산자의 모든 비트를 반전시켜서 얻은 결과를 반환

비트 쉬프트 연산자

<<

비트열을 왼쪽으로 이동

>>

비트열을 오른쪽으로 이동

음수는 1로 양수는 0으로 채움

>>>

비트열을 오른쪽으로 이동

빈공간을 0으로 채움

문제1.

정수 7의 비트 열을 기반으로 2의 보수를 취하면 -7이 됨 실제로 그럼지 정수 7에 대한 2의 보수를 계산하여 출력하는 프로그램을 작성

문제2.

int형 정수 15678의 오른쪽에서 세 번쨰 비트와 다섯 번째 비트가 각각 어떻게 되는지 확인하여 출력하는 프로그램을 작성해 보자.

* 참고: 책<난 정말 자바를 공부한적이 없다구요>

문제 1. 해설

int num1 =7;

// num1에 7을 대입

num1 = ~num1;

// num1을 비트연산자를 이용해 반전시킨값을 num1에 대입

→ 1의 보수 상태

num1 = num1 +1;

// 1의 보수의 1을 더해 2의 보수 완성

문제2. 해설

int num2 = 15678;

// num2변수에 15678로 초기화

result3에 num2의 비트를 오른쪽으로 2번 밀어서 3번째 비트가 가장 오른쪽으로 오게하여

1과 and시키면 3번째 비트가 0인지 1인지 알수 있다

마찬가지 방법으로 result5에도 같은 방법을 써준다.

 

다음에는 자바에서 조건문을 알아보도록 할께요^^

728x90