728x90
반응형
코드업 자바
# 1048 [기초-비트시프트연산] 한 번에 2의 거듭제곱 배로 출력하기
링크 : https://codeup.kr/problem.php?id=1048
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
// System.out.println(a>>b);
System.out.println(a * (int) Math.pow(2, b));
}
}
- 비트 시프트 연산
- 2진법을 생각하면 이해할 수 있다
- << : 왼쪽으로 비트를 이동, >> : 오른쪽으로 비트를 이동
- 1 << 3 의 경우, 1을 이진법 상에서 왼쪽 3번째 칸으로 밀어낸다
- 따라서 2^3 인 8이 나온다
- 일반적인 거듭제곱은 Math.pow(n, m)을 사용한다
- n의 m제곱 만큼의 값을 도출
- 계산에 의한 새로운 값이기 때문에 (int)와 같이 형태를 정해줘야 한다
'Algorithm Study > Java' 카테고리의 다른 글
[코드업 자바] # 1064 [기초-삼항연산] 정수 3개 입력받아 가장 작은 수 출력하기 (0) | 2021.12.25 |
---|---|
[코드업 자바] # 1059 [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기 (0) | 2021.12.25 |
[코드업 자바] # 1045 [기초-산술연산] 정수 2개 입력받아 자동 계산하기 (0) | 2021.12.25 |
[코드업 자바] # 1042 [기초-산술연산] 정수 2개 입력받아 나눈 몫 출력하기 (0) | 2021.12.25 |
[코드업 자바] # 1041 [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기 (0) | 2021.12.25 |