JAVA를 정리하기만 해도 머리가 아픕니다. 나도 알아듣지 못하는 말을 뭘 알려주 겠다고 그래도 열심히 JAVA를 정리하다 보면 뼈가 되고 살이 될거라고 믿습니다. 비트 연산자는 2진수로 표현된 정수를 비트단위로 취급하는 연산자입니다.
◎ 5 & 7 : 비트 논리 연산자로 표현 하면 5에 해당되는 비트101과 7에 해
당되는 비트 111을 비트 단위로 AND한다
◎ 5 | 7 : 비트논리 연산자로 표현 하면 5에 해당되는 비트101과 7에 행되는
비트 111을 비트 단위로 OR한다.
◎ 5 ^ 7 : 비트논린 연산자로 표현하면 5에 해당되는 비트 101과 7에 해당되는
비트 단위로 XOR한다.
◎ ~5 : 비트논리 연산자로 표현하면 5에 해당되는 비트 101의 보수를 취한다.
<비트 논리연산자 진위표 입니다>
다음은 비트논리 연산자를 코딩을 통해서 배워보겠습니다. 우선 프로그램을 작성하기 전에 정수를 비트 단위로 출력하는 메소드을 이용해서 쉽게 출력까지 보실수 있습니다. ★정수를 비트 단위로 출력하는 메소드는 Integer.toBinaryString()입니다.
비트논리연산자는 예제를 통해서 알아봤습니다. 자 그러면 시프트 연산자는 비트 단위로 이동하는 연산자로서, 정수형 변수에만 사용이 가능하다고 합니다. 정수에 해당되는 비트값을 좌,우로 이동시켜면 곱하거나 나누셈의 결과를 얻을수 있습니다.
시프트 연산자를 코딩해보겠습니다. 시프트 연산자는 정수만을 사용할수 있다고 하였습니다. 만약 홀수인 경우에는 오른쪽 시프트(나누는 결과값)의 결과 정수로 나타나기 때문에 정확하지 않을수 있습니다.
시프트 연산자를 보시면 왠지 프로그램을 하는 것 같은 느낌이 듭니다.
단축 배정 연산자란? 자바는 다른 연산자와 배정 연산자를 같이 사용할수 있다고 합니다. 프로그램의 변수 자신의 값이 계산이 이루어진 다음 다시 자신의 값을 저장되는 경우가 많은데요 이것을 단축 배정 연산자라고 합니다.
[흔한 산수식] a = a + 5 ; → [단축 배정 연산자 수식] a += 5;
[흔한 산수식] a = a - 8 ; → [단축 배정 연산자 수식] a -= 8;
[흔한 산수식] a = a * 10 ; → [단축 배정 연산자 수식] a *=10;
[흔한 산수식] a = a / 12 ; → [단축 배정 연산자 수식] a /=12;