이진수를 10 진수로 변환하거나 그 반대로 변환 할 수있는 코드를 만듭니다. 10 진수를 2 진수로 변환하는 코드를 만들었지 만 10 진수로 2 진수를 구현하는 방법을 연습 할 수는 없습니다.2 진수에서 10 진수 Java 변환기
이진 소수점에 대한 나의 코드는 다음과 같습니다 :
이import java.util.*;
public class decimalToBinaryTest
{
public static void main (String [] args)
{
int n;
Scanner in = new Scanner(System.in);
System.out.println("Enter a positive interger");
n=in.nextInt();
if(n < 0)
{
System.out.println("Not a positive interger");
}
else
{
System.out.print("Convert to binary is: ");
binaryform(n);
}
}
private static Object binaryform(int number)
{
int remainder;
if(number <= 1)
{
System.out.print(number);
return " ";
}
remainder= number % 2;
binaryform(number >> 1);
System.out.print(remainder);
{
return " ";
}
}
}
바이너리 코드 작업을 진수하는 방법에 대한 설명뿐만 아니라 도움이 될 것이다.
내가 가장 중요하지 않은 방법을 시도한 결과 digit*1
다음으로 *1*2
다음 *1*2*2
이지만 작동시키지 못했습니다.
감사합니다. @korhner 배열 및 if 문과 함께 번호 시스템을 사용했습니다.
이
내 작업 코드 :import java.util.*;
public class binaryToDecimalConvertor
{
public static void main (String [] args)
{
int [] positionNumsArr= {1,2,4,8,16,32,64,128};
int[] numberSplit = new int [8];
Scanner scanNum = new Scanner(System.in);
int count1=0;
int decimalValue=0;
System.out.println("Please enter a positive binary number.(Only 1s and 0s)");
int number = scanNum.nextInt();
while (number > 0)
{
numberSplit[count1]=(number % 10);
if(numberSplit[count1]!=1 && numberSplit[count1] !=0)
{
System.out.println("Was not made of only \"1\" or \"0\" The program will now restart");
main(null);
}
count1++;
number = number/10;
}
for(int count2 = 0;count2<8;count2++)
{
if(numberSplit[count2]==1)
{
decimalValue=decimalValue+positionNumsArr[count2];
}
}
System.out.print(decimalValue);
}
}
1을 반환이다 . 질문은 숙제/운동 같아서 내 의견으로는 받아 들여진 대답이어야합니다. –