# 이진수와 십육진수
## 문제
이진수(binary number)는 가장 기초적인 자료구조이다. 컴퓨터는 실제로 0과 1만을 알고있기 때문이다.
```
// A
1111 0100 0001 0010
// B
1011 1010 1110 0010
```
이진수는 사람이 읽기에 상당히 긴 관계로 때때로 16진수(hexadecimal)로 변환하여 출력한다.
```
// A
f412 // f(1111), 4(0100), 1(0001), 2(0010)
// B
bae2 // b(1011), a(1010), e(1110), 2(0010)
```
뼈대코드를 참고하여 이진(binary) 문자열을 십진수(decimal), 십육진수(hex)로 변환하시오.
## 뼈대코드
```
public class Main {
public static void main(String[] args) {
String[] tests = { "1111010000010010", "1011101011100010" };
for (String t : tests) {
new Binary(t).printInfo();
System.out.println();
}
}
}
class Binary {
private String binaryStr;
public Binary(String binaryStr) {
this.binaryStr = binaryStr;
}
public void printInfo() {
/* 메소드를 구현하시오 */
}
}
```
## 출력 예
```
binary: 1111010000010010
decimal: 62482
hex: f412
binary: 1011101011100010
decimal: 47842
hex: bae2
```
## 힌트
+ Integer.parseInt(String s, int radix) - https://cloudstudying.kr/questions/247
+ Integer.toString(int i, int radix) - https://cloudstudying.kr/questions/248