admin管理员组

文章数量:1794759

二进制转换器java,二进制到十进制Java转换器

二进制转换器java,二进制到十进制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 " ";

}

}

}

二进制到十进制代码如何工作的解释也会有所帮助.

我已经尝试了最低有效数字* 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);

}

}

本文标签: 转换器java制到十进制