기본 콘텐츠로 건너뛰기

2022 08 26 회사 워크샵

java 비트 연산자


2.2.4 비교연산자

이항연산자로, 피연산자 서로를 비교하는데 사용하는 연산자
일반적으로, if, while, do-while 문과 같은 흐름 제어 구조에서 사용된다.
리턴하는 결과는 true나 false같은 boolean형이다.

연산자
사용목적
==
같다
!=
같지않다
>
크다
>=
크거나 같다
<
작다
<=
작거나 같다


예제 - 비교연산자 사용




* 실행결과

b가 a보다 큰 수가 되려면 몇 번 반복해야 하는가?
5번 반복해야 한다.



2.2.5 논리연산자

and, or, not 세가지가 있다.
피연산자와 결과값은 true나 false가 된다.

연산자
사용목적
&&
and 연산 - 피연산자가 모두 true이어야 true
||
or 연산 - 피연산자가 하나만 true이어도 true
!
not 연산


예제 - 논리연산자 사용




* 실행결과

조건을 만족하지 못했습니다.


2.2.6 비트연산자

피연산자의 비트 표현에 적용되는 연산자
정수형과 문자형에서만 가능하고 실수형이나 부울린형에서는 에러를 발생시킨다.

연산자
사용목적
&
비트 단위의 and (Bitwise and)
|
비트 단위의 or
^
비트 단위의 xor
<<
왼쪽으로 shift
>>
오른쪽으로 shift
>>>
최상위비트를 0으로 채우고 오른쪽 shift
~
1의 보수


두 수를 예를 들어 비트 연산 결과를 나타내보자.
10진수 11309는 이진수로 0010 1100 0010 1101 이고
10진수 798은 이진수로 0000 0011 0001 1110 이다.

연산식
2진수
11309 & 798
         0010 1100 0010 1101
and   0000 0011 0001 1110        
─────────────    
         0000 0000 0000 1100

11309 | 798
        0010 1100 0010 1101
 or    0000 0011 0001 1110      
─────────────    
        0010 1111 0011 1111

11309 ^ 798
        0010 1100 0010 1101
xor   0000 0011 0001 1110      
─────────────    
       0010 1111 0011 0011

~ 798
1111 1100 1110 0001


예제 - 비트연산자 사용








     j = 12 = 1100
     k = 13 = 1101
               ───
                 1100 = 12 = i





* 실행결과

i는 12입니다.

댓글