연산자 모든 프로그래밍 언어의 기본 구성 요소를 구성합니다. Java도 논리, 산술, 관계형 등 다양한 계산 및 기능을 수행해야 하는 필요성에 따라 사용할 수 있는 다양한 유형의 연산자를 제공합니다. 이러한 연산자는 제공하는 기능에 따라 분류됩니다. 다음은 몇 가지 유형입니다.
Java에서 문자열을 int로 캐스팅하는 방법
- 산술 연산자
- 단항 연산자
- 할당 연산자
- 관계 연산자
- 논리 연산자
- 삼항 연산자
- 비트 연산자
- 교대 연산자
이 문서에서는 Bitwise 연산자에 관해 알아야 할 모든 내용을 설명합니다.
비트 연산자
비트 연산자는 숫자의 개별 비트를 조작하는 데 사용됩니다. 모든 정수 유형(char, short, int 등)과 함께 사용할 수 있습니다. 이진 인덱스 트리의 업데이트 및 쿼리 작업을 수행할 때 사용됩니다.
이제 Java의 각 비트 연산자를 살펴보겠습니다.
1. 비트 OR(|)
이 연산자는 '|'로 표시되는 이항 연산자입니다. 입력 값의 비트별 OR을 반환합니다. 즉, 비트 중 하나가 1이면 1을 제공하고 그렇지 않으면 0을 표시합니다.
예:
a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary) Bitwise OR Operation of 5 and 7 0101 | 0111 ________ 0111 = 7 (In decimal)>
2. 비트 AND(&)
안드로이드 유튜브에서 광고 차단하기
이 연산자는 '&'로 표시되는 이항 연산자입니다. 입력 값의 비트 단위 AND를 반환합니다. 즉, 두 비트가 모두 1이면 1을 제공하고 그렇지 않으면 0을 표시합니다.
예:
a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary) Bitwise AND Operation of 5 and 7 0101 & 0111 ________ 0101 = 5 (In decimal)>
3. 비트별 XOR(^)
이 연산자는 '^'로 표시되는 이항 연산자입니다. 입력 값을 비트 단위로 XOR하여 반환합니다. 즉, 해당 비트가 다르면 1을, 그렇지 않으면 0을 표시합니다.
예:
문자열을 json으로 변환 java
a = 5 = 0101 (In Binary) b = 7 = 0111 (In Binary) Bitwise XOR Operation of 5 and 7 0101 ^ 0111 ________ 0010 = 2 (In decimal)>
4. 비트 보수(~)
이 연산자는 '~'로 표시되는 단항 연산자입니다. 이는 입력 값의 1의 보수 표현을 반환합니다. 즉, 모든 비트가 반전되어 모든 0에서 1, 모든 1에서 0이 된다는 의미입니다.
예:
a = 5 = 0101 (In Binary) Bitwise Complement Operation of 5 ~ 0101 ________ 1010 = 10 (In decimal)>
자바메모: 컴파일러는 해당 숫자에 대한 2의 보수를 제공합니다. 즉, 10의 2의 보수는 -6이 됩니다.
// Java program to illustrate // bitwise operators public class operators { public static void main(String[] args) b)); // bitwise xor // 0101 ^ 0111=0010 = 2 System.out.println('a^b = ' + (a ^ b)); // bitwise not // ~00000000 00000000 00000000 00000101=11111111 11111111 11111111 11111010 // will give 2's complement (32 bit) of 5 = -6 System.out.println('~a = ' + ~a); // can also be combined with // assignment operator to provide shorthand // assignment // a=a&b a &= b; System.out.println('a= ' + a); }> 산출
a&b = 5 a|b = 7 a^b = 2 ~a = -6 a= 5>
보조공간:O(1)
시간복잡도:O(1)
문자열을 배열로 변환 java자바
// Demonstrating the bitwise logical operators class GFG { public static void main (String[] args) { String binary[]={ '0000','0001','0010','0011','0100','0101', '0110','0111','1000','1001','1010', '1011','1100','1101','1110','1111' }; // initializing the values of a and b int a=3; // 0+2+1 or 0011 in binary int b=6; // 4+2+0 or 0110 in binary // bitwise or int c= a | b; // bitwise and int d= a & b; // bitwise xor int e= a ^ b; // bitwise not int f= (~a & b)|(a &~b); int g= ~a & 0x0f; System.out.println(' a= '+binary[a]); System.out.println(' b= '+binary[b]); System.out.println(' a|b= '+binary[c]); System.out.println(' a&b= '+binary[d]); System.out.println(' a^b= '+binary[e]); System.out.println('~a & b|a&~b= '+binary[f]); System.out.println('~a= '+binary[g]); } }> 산출
a= 0011 b= 0110 a|b= 0111 a&b= 0010 a^b= 0101 ~a & b|a&~b= 0101 ~a= 1100>
비트 시프트 연산자(시프트 연산자)
시프트 연산자는 숫자의 비트를 왼쪽이나 오른쪽으로 이동하여 숫자에 각각 2를 곱하거나 나누는 데 사용됩니다. 숫자를 2로 곱하거나 나누어야 할 때 사용할 수 있습니다.
통사론:
number shift_op number_of_places_to_shift;>
교대 연산자의 유형:
시프트 연산자는 다시 4가지 유형으로 나뉩니다. 이것들은:
- 부호 있는 오른쪽 시프트 연산자(>>)
- 부호 없는 오른쪽 시프트 연산자(>>>)
- 왼쪽 시프트 연산자(<<)
- 부호 없는 왼쪽 시프트 연산자(<<<)
메모: Java의 시프트 연산자에 대한 자세한 내용은 다음을 참조하세요. Java의 시프트 연산자 .
사용자 입력을 위해 Java에서 모든 Bitwise 연산자를 구현하는 프로그램
자바 import java.util.Scanner; public class BitwiseOperators { public static void main(String[] args) Scanner input = new Scanner(System.in); System.out.print('Enter first number: '); int num1 = input.nextInt(); System.out.print('Enter second number: '); int num2 = input.nextInt(); System.out.println('Bitwise AND: ' + (num1 & num2)); System.out.println('Bitwise OR: ' + (num1 }> 입력
Enter first number: 4 Enter second number: 8>
산출
Bitwise AND: 0 Bitwise OR: 12 Bitwise XOR: 12 Bitwise NOT: -5 Bitwise Left Shift: 16 Bitwise Right Shift: 1 Bitwise Unsigned Right Shift: 1>
설명
이 프로그램은 사용자에게 num1과 num2라는 두 숫자를 입력하라는 메시지를 표시합니다. 그런 다음 &, |, ^, ~, <> 및>>> 연산자를 사용하여 다음 비트 단위 연산을 수행합니다.
비트별 AND
비트별 OR
비트별 XOR
비트별 NOT
비트 왼쪽 시프트
비트 오른쪽 시프트
비트별 0 채우기 오른쪽 시프트
장점
Java에서 비트 연산자를 사용하면 다음과 같은 이점이 있습니다.
자바 스위치 문
- 속도: 비트 연산은 숫자의 이진 표현에 대해 직접 연산을 수행하므로 산술 연산보다 훨씬 빠릅니다.
- 공간 최적화: 비트 연산은 단일 변수에 여러 값을 저장하는 데 사용할 수 있으며, 이는 제한된 메모리로 작업할 때 유용할 수 있습니다.
- 비트 조작: 비트 연산자를 사용하면 숫자의 개별 비트를 정밀하게 제어할 수 있으며 이는 암호화, 오류 감지 및 압축과 같은 다양한 응용 프로그램에 유용할 수 있습니다.
- 코드 단순화 : 비트 연산은 특정 작업을 수행하는 데 필요한 조건문과 루프의 수를 줄여 코드를 단순화할 수 있습니다.
요약하자면, Bitwise Operators는 Java 애플리케이션의 성능 최적화, 코드 가독성 향상, 코드 복잡성 감소를 위한 중요한 도구입니다.