반응형
-
10진수->2/8/16진수
Integer.toBinaryString(바꿀문자열);
Integer.toOctalString(바꿀문자열);
Integer.toHexString(바꿀문자열);
int i = 127;
String binaryString = Integer.toBinaryString(i); //2진수
String octalString = Integer.toOctalString(i); //8진수
String hexString = Integer.toHexString(i); //16진수
System.out.println(binaryString); //1111111
System.out.println(octalString); //177
System.out.println(hexString); //7f
-
2/8/16진수 -> 10진수
Integer.parseInt(바꿀문자열, 변환할진수);
int binaryToDecimal = Integer.parseInt(binaryString, 2);
int binaryToOctal = Integer.parseInt(octalString, 8);
int binaryToHex = Integer.parseInt(hexString, 16);
System.out.println(binaryToDecimal); //127
System.out.println(binaryToOctal); //127
System.out.println(binaryToHex); //127
-
나머지 진수변환은 알고리즘을 이용해서 풀이하는 방법뿐.
//String s="";
int decNumber = 10;
int 진수 = 2;
StringBuilder sub = new StringBuilder("");
while(decNumber>0){
int remain = decNumber%진수;
decNumber /= 진수;
//sub = remain + sub;
sub.append(remain);
}
String 변환완료 = sub.reverse().toString();//뒤집어주어야함
System.out.println(변환완료);
StringBuilder를 이용하는것을 우선하여 작성하였다.
설명하자면, 나머지값을 문자열에 더해주는건데,
StringBuilder를 이용시, append를 할경우 뒤에다가 쌓이므로
전체 문자열을 역순으로 뒤집어주는 reverse()호출이 필요하다.
ex)1011 -> 1101로 역순변환.
반응형
'코딩테스트 > Java' 카테고리의 다른 글
(2020카카오) 기둥과 보 설치 Java (0) | 2021.02.03 |
---|---|
(2018카카오) 자물쇠와 열쇠 Java (0) | 2021.01.28 |
(2018카카오) n진수 게임 Java (0) | 2021.01.25 |
(2018카카오) 추석 트래픽 Java (0) | 2021.01.21 |
(2018카카오) 압축 LZW 알고리즘 Java (0) | 2021.01.18 |