2012-10-09 2 views
-2

2 진수를 4 진수로 변환하는 방법 without using extra space? 예 : 이진수가 1010이면 기본 4에서 22가 될까요? 내가 알고리즘을 내장 된 함수에서 수행하는 것이 아니라 어떤 문자열을 출력으로 생성 할 필요가없는 조건을 추가하는 경우에 대해 설명하고 싶습니다. 나는 주어진 문자열 공간을 사용해야 만한다.2 진수 - 기반 4

+0

마지막으로 최하위 비트부터 시작했으나 추가 공간을 사용하지 않으면이 작업을 수행 할 수 없었습니다. –

답변

2

자바의 정수 클래스가 내장되어 있습니다 (체크 아웃은 SO answer입니다). radix 속성은 parseInt()toString()입니다. 이것이 과 MAX radix 값 사이의 radix 값으로 제한된다는 것을 이해하는 것이 중요하므로 약간의 노력없이 숫자를 기본 1024로 변환 할 것을 기대하지 마십시오.

귀하의 질문에 당신은이 작업을 수행 할 수 있습니다 바이너리

int value = Integer.parseInt("1010", 2); //From Binary 
String base4value = Integer.toString(value, 4); //To base 4 
2

예, 1010 기본 그것은 간단하다 4에서 22, 4는 2의 힘 때문에, 그러므로 변환은 단순히 10 = 2, 10 = 2 -> 22. 1 바이트와 2 개의 16 진수가 비슷합니다.