도라에몽주머니

[Java] 진법 변환 정리 (N진수 ↔ 10진수) 본문

Programming/Java

[Java] 진법 변환 정리 (N진수 ↔ 10진수)

에몽쓰 2022. 11. 3. 23:33

개요

알고리즘 문제를 풀던 중, 10진수를 2진수로 변환해야 하는 문제가 나왔다.

Integer 클래스에 진법 변환을 할 수 있는게 있는지 몰라서 직접 나머지로 구했었는데 이참에 정리해서 다음번에는 좀 더 효율적으로 코드를 짜보려고 한다.

 

 

10진수 → N진수

int i = 1041;

String binaryString = Integer.toBinaryString(i); // 2진수
String octalString = Integer.toOctalString(i);   // 8진수
String hexString = Integer.toHexString(i);       // 16진수
 
System.out.println(binaryString); // 10000010001
System.out.println(octalString);  // 2021
System.out.println(hexString);    // 411

 

N진수 → 10진수

int i = 1041;

String binaryString = Integer.toBinaryString(i); // 2진수
String octalString = Integer.toOctalString(i);   // 8진수
String hexString = Integer.toHexString(i);       // 16진수

System.out.println(binaryString); // 10000010001
System.out.println(octalString);  // 2021
System.out.println(hexString);    // 411

 
int binaryToDecimal = Integer.parseInt(binaryString, 2);
int binaryToOctal = Integer.parseInt(octalString, 8);
int binaryToHex = Integer.parseInt(hexString, 16);
 
System.out.println(binaryToDecimal); // 1041
System.out.println(binaryToOctal);   // 1041
System.out.println(binaryToHex);     // 1041

 

 

References

https://dpdpwl.tistory.com/92