二进制到十进制Java转换器

用户X

我正在创建一个代码,该代码允许您将二进制数转换为十进制数,反之亦然。我创建了一个将十进制转换为二进制但无法锻炼如何将二进制转换为十进制方面的代码。

我的十进制到二进制代码如下:

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);

   }
}
科尔纳

样本:

00000100

0 - 1
0 -第2
1 - 4
0 - 8
0 - 16
0 - 32
0 - 64
0 - 128

位1的总和= 4

祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++二进制到十进制

来自分类Dev

简单的二进制到十进制转换器-C#中的问题

来自分类Dev

二进制到十进制Java转换器

来自分类Dev

Perl十进制转换为二进制

来自分类Dev

递归二进制到十进制

来自分类Dev

C ++二进制到十进制?

来自分类Dev

C ++二进制到十进制和反向转换器

来自分类Dev

二进制到十进制-Prolog

来自分类Dev

十进制到二进制转换器

来自分类Dev

二进制字符串到十进制整数转换器

来自分类Dev

我的二进制到十进制转换器存在整数大小限制的问题,不确定如何正确实现long

来自分类Dev

Java中二进制到十进制转换的问题(数组)

来自分类Dev

QBASIC十进制到二进制转换

来自分类Dev

十进制到二进制Clojure

来自分类Dev

十进制转换为二进制

来自分类Dev

十进制到二进制python算法

来自分类Dev

Java十进制到二进制转换器的问题

来自分类Dev

十进制到二进制Clojure

来自分类Dev

十进制到二进制转换C ++

来自分类Dev

二进制到十进制

来自分类Dev

十进制到二进制转换器无法计算大于1023的十进制

来自分类Dev

十进制到二进制转换器

来自分类Dev

十进制到二进制转换错误

来自分类Dev

使用Ruby创建十进制到二进制转换器?

来自分类Dev

C ++二进制到十进制转换器输入仅接受1或0

来自分类Dev

Java中二进制到十进制转换的问题(数组)

来自分类Dev

制作二进制到十进制的转换器

来自分类Dev

你刚刚写了一个二进制到十进制转换器

来自分类Dev

使用 java 错误的十进制到二进制转换