반응형
해당 페이지에서는 자주 사용하는 개발 패턴으로 정수(10진법)을 N진법으로 변환하거나 N진법을 정수(10진법)으로 변환하는 방법에 대해서 공유합니다.
1) 10진법 to N진법 (Decimal to Binary, Octal, Hex, N..) : Integer.toString(num, n)
💡 10진법을 N진법으로 변환을 위해 Integer.toString(num, n) 함수를 이용하여 변환을 합니다.
int num = 10;
/*
* [CASE1] 10진법을 2진법으로 변환 방법 : Decimal notation to binary notation
*/
String decimalToBinary1 = Integer.toString(num, 2); // "1010"
String decimalToBinary2 = Integer.toBinaryString(num); // "1010"
/*
* [CASE2] 10진법을 8진법으로 변환 방법: Decimal notation to octal notation
*/
String decimalToOctal1 = Integer.toString(num, 8); // "12"
String decimalToOctal2 = Integer.toOctalString(num); // "12"
/*
* [CASE3] 10진법을 16진법으로 변환 방법: Decimal notation to hexadecimal notation
*/
String decimalToHex1 = Integer.toString(num, 16); // "a"
String decimalToHex2 = Integer.toHexString(num); // "a"
/*
* [CASE3] 10진법을 n진법 변환 방법: Decimal notation to n notation
*/
String decimalToThree = Integer.toString(num, 3); // "101"
String decimalToFive = Integer.toString(num, 5); // "20"
String decimalToSeven = Integer.toString(num, 7); // "13"
2) N진법 to 10진법(Binary, Octal, Hex, N.. to Decimal): Integer.parseInt(str, n)
💡 N진법을 10진법으로 변환을 위해 Integer.parseInt(str, n) 함수를 이용하여 변환을 합니다.
String bin = "1010"; // 2진법
String three = "101"; // 3진법
String five = "20"; // 5진법
String seven = "13"; // 7진법
String oct = "12"; // 8진법
String hex = "a"; // 16진법
int binarayToDecimal = Integer.parseInt(bin, 2); // 10
int threeToDecimal = Integer.parseInt(three, 3); // 10
int fiveToDecimal = Integer.parseInt(five, 5); // 10
int sevenToDecimal = Integer.parseInt(seven, 7); // 10
int octalToDecimal = Integer.parseInt(oct, 8); // 10
int hexToDecimal = Integer.parseInt(hex, 16); // 10
3) 진법 간의 합(sum): "|" 이용
💡 각각 2진법, 8진법, 16진법 간의 합을 구하는 방법입니다.
int num1 = 10;
int num2 = 20;
String decimalToBinary1 = Integer.toBinaryString(num1); // "1010"
String decimalToBinary2 = Integer.toBinaryString(num2); // "10100"
// 2진법간의 합
String decimalToBinarySum = Integer.toBinaryString(num1 | num2); // "11110"
String decimalToOctal1 = Integer.toOctalString(num1); // "12"
String decimalToOctal2 = Integer.toOctalString(num2); // "24"
// 8진법간의 합
String decimalToOctalSum = Integer.toOctalString(num1 | num2); // "36"
String decimalToHex1 = Integer.toHexString(num1); // "a"
String decimalToHex2 = Integer.toHexString(num2); // "14"
// 16진법간의 합
String decimalToHexSum = Integer.toHexString(num1 | num2); // "1e"
오늘도 감사합니다. 😀
반응형
'Java > Short 개발' 카테고리의 다른 글
[Java/Short] String <-> int 변환 방법 : 부호(+, -) 포함 여부 (0) | 2023.02.26 |
---|---|
[Java/Short] Array, ArrayList 정렬(Sort) 방법 (0) | 2023.02.22 |
[Java/Short] 기본 자료형과 래퍼 클래스의 박싱(Boxing)과 언박싱(Unboxing) 방법 (0) | 2023.02.21 |
[Java/Short] String <-> ASCII Code 변환 방법 (0) | 2023.02.21 |
[Java/Short] Array <-> ArrayList 변환 방법 (0) | 2023.02.21 |