십진수를 이진수로 만드는 원리를 알고 있다면 이를 코드로 구현하는 것은 어렵지 않습니다.
다만 그 과정을 코드로 매번 구현하는 것은 귀찮고 비효율적입니다.
Java에서 Integer와 String 클래스는 이를 효율적으로 해결할 수 있는 메소드를 제공합니다.
1. 십진수를 이진수로 변환(int to String)
int num = 31;
System.out.println(Integer.toBinaryString(num));
> 11111
또한, 앞 자리를 원하는 만큼 0으로 채우는 방법 또한 존재합니다.
int num = 31;
System.out.println(String.format("%8s", Integer.toBinaryString(num)).replaceAll(" ", "0"));
> 00011111
2. 이진수를 십진수로 변환(String to int)
String str = "00011111";
System.out.println(Integer.parseInt(str, 2));
> 31
짧지만 꽤나 유용한 코드이므로 꼭 익혀놓는 것을 추천합니다.😄
'Study in SSAFY > Algorithm' 카테고리의 다른 글
[Java] Period 클래스로 날짜 차이 계산하기 (0) | 2023.01.12 |
---|