비트연산자
·
CS
위의 이미지로 모든 설명이 다 되긴한다.과거 디지털 공학 수업을 청강 하였을 때 공부한 적이 있었다. 회로에 관한 개념이었는데 Software에서 보다니 새삼 감회가 새로웠다. AND 연산자 (&)두 비트가 모두 1일 때만 1을 반환한다.예: 5 & 3 → 1OR 연산자 (|)두 비트 중 하나라도 1이면 1을 반환한다.예: 5 | 3 → 7XOR 연산자 (^)두 비트가 서로 다를 때 1을 반환한다.예: 5 ^ 3 → 6NOT 연산자 (~)단항 연산자로, 비트를 반전시킨다. 1을 0으로, 0을 1로 만든다.예: ~5 → -6 (2의 보수 표기법으로 인해 반전된 결과가 음수로 나온다.)왼쪽 시프트 연산자 (비트를 왼쪽으로 이동시키며, 오른쪽 빈 공간에 0을 채운다. 이동할 때마다 값이 2배가 된다.예: 5 ..
12015. 가장 증가하는 부분수열 2 (Java)
·
Algorithm & Data Structures/BOJ
비트연산자개념을 사용하여 while문 하나로 이분탐색을 구현한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.r..