Java에서 이진 문자열을 Int로 변환
이진수는 0과 1의 두 숫자로 구성되며이 숫자는 기계에 대한 다른 유형의 명령어를 작성하는 데 사용됩니다. 그러나 인간이이 바이너리 코드를 읽는 것은 어렵습니다. 이것이 바이너리를 사람이 읽을 수있는 형식으로 변환하는 다양한 기술이있는 이유입니다.
이 튜토리얼에서는 바이너리 문자열을int
로 변환하는 데 사용할 수있는 두 가지 방법을 살펴 보겠습니다. 우리의 목표는 이진수를 가져와 파싱하여 이진수를 나타내는int
를 출력하는 것입니다.
Integer.parseInt()
를 사용하여 Java에서 이진 문자열을 Int로 변환
첫 번째 메소드는 주어진 문자열을int
로 파싱하는Integer.parseInt()
입니다. 문자열과 기수 또는 기본 값을Integer.parseInt()
에 전달하면 기수에 따라 계산 된int
값을 반환합니다.
이 예에서binaryString
에는int
로 변환해야하는 이진 값이 있습니다. Integer.parseInt (binaryString, 2)
가 우리를 위해 일합니다. 첫 번째 인수는 문자열이고 두 번째 인수는 2 진수입니다. 이진수는 2 진수 시스템이기 때문입니다.
binaryString
에 이진이 아닌 값이 포함 된 경우NumberFormatException
이 발생하고 오류 메시지가 표시됩니다.
public class BinaryStringToInt {
public static void main(String[] args) {
try {
String binaryString = "10010";
int foo = Integer.parseInt(binaryString, 2);
System.out.println(foo);
} catch (NumberFormatException e) {
System.out.println("Error: The binary string is not valid");
}
}
}
출력:
18
Math.pow()
를 사용하여 Java에서 이진 문자열을 Int로 변환
이 방법에서는 Java의 문자열이 일련의 문자임을 알고 있으므로binaryString
의 모든 문자를 확인합니다. 문자열의 길이까지 모든 문자를 반복해야합니다.
다음 단계는 바이너리를 십진수로 변환 할 때 1 만 더해 지므로binaryString
에서 1이 발생하는지 확인하는 것입니다. 1이 있으면 먼저binaryString
의 길이를 1과 반복 값으로 줄입니다. 따라서101000
의 경우 첫 번째 문자는 1입니다. 즉binaryString.length()
는 6이고 반복 변수i
는 0이므로int len
은 값 5를 보유합니다. 이는 6-1-0이 5가됨을 의미합니다.
이제 우리는 5를 얻고 두 번째 인자로Math.pow(base, len)
에 전달되고 첫 번째 인자는 기저가됩니다. 숫자에 base-2를 적용한 다음 모든 숫자를 더하여 결과를int
로 제공합니다.
public class Main {
public static void main(String[] args) {
String binaryString = "101000";
double convertedDouble = 0;
for (int i = 0; i < binaryString.length(); i++) {
if (binaryString.charAt(i) == '1') {
int len = binaryString.length() - 1 - i;
convertedDouble += Math.pow(2, len);
}
}
int convertedInt = (int) convertedDouble;
System.out.println(convertedInt);
}
}
출력:
40
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn관련 문장 - Java String
- Java 문자열을 바이트로 변환하는 방법
- Java에서 16 진 문자열의 바이트 배열을 변환하는 방법
- Java에서 문자열 대 문자열 배열 변환을 수행하는 방법
- Java에서 문자열에서 부분 문자열을 제거하는 방법
- Java에서 임의 문자열 생성
- Java의 스왑 방법