[ Java ] 진법 변환

5tr1ker·2023년 12월 20일
0

Java

목록 보기
6/6
post-thumbnail

Integer ( 2,147,483,647 ) 혹은, Long ( 9,223,372,036,854,775,807 ) 범위의 값 변환

2,8,16진수 -> 10진수 변환

       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       String input = br.readLine();

       int result = Integer.parseInt(input, 2); // (String , radix)
       System.out.println(result);

Radix에 입력된 진법을 Integer 형으로 작성해주면 해당 진법을 10진법으로 바꾸어줍니다.

리턴 타입클래스메소드설명
static intjava.lang.IntegerparseInt(String s)문자열(s)을 10진수로 읽어서 int로 반환합니다.
static intjava.lang.IntegerparseInt(String s, int radix)문자열(s)을 변환할 진수(radix)로 읽어서int로 반환합니다.(따라서, 2번째 파라미터(radix)를 10으로 입력하면, parseInt(String s)와 같습니다.)

example

input : 1011
output : 11

input : 1001011001
output : 601

10진수 -> 2,8,16진수 변환

ava.lang.Integer의 toBinaryString(), toOctalString(), toHexaString() 메소드를 이용하여
10진수를 2진수, 8진수, 16진수 문자열로 변환할 수 있습니다.

       int input = 12;

       String binary = Integer.toBinaryString(input); // 10진수 -> 2진수
       String octal = Integer.toOctalString(input); // 10진수 -> 8진수
       String hexaDecimal = Integer.toHexString(input); // 10진수 -> 16진수

       System.out.println(binary);
       System.out.println(octal);
       System.out.println(hexaDecimal);
리턴 타입클래스메소드설명
static Stringjava.lang.IntegertoBinaryString(int i)10진수 -> 2진수
static Stringjava.lang.IntegertoOctalString(int i)10진수 -> 8진수
static Stringjava.lang.IntegertoHexaString(int i)10진수 -> 16진수

example

input :
output :
1100
14
c

범위가 큰 값 진법 변환

Integer ( 2,147,483,647 ) 혹은, Long ( 9,223,372,036,854,775,807 ) 범위를 벗어나는 값을 계산하는 방법은 다음과 같습니다.

       BufferedReader br = new BufferedReader(new >InputStreamReader(System.in));
       String input = br.readLine();

       BigInteger N = new BigInteger(input, 2); // 2진법으로 작성된 문자열을 10진수로 변환
       String result = N.toString(8); // 8진법 정수형으로 변환

       System.out.println(result);
리턴 타입클래스메소드설명
BigIntegerjava.math.BigIntegernew BigInteger(String val, int radix)입력된 val 문자열 값을 radix 진법으로 변환
BigIntegerjava.math.BigIntegernew BigInteger(String val)입력된 val 문자열 값을 Integer로 변환
static Stringjava.math.BigIntegertoString(int radix)BigInteger 내부의 변수를 radix 진법으로 변환
profile
https://github.com/5tr1ker

0개의 댓글