加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

二进制到十进制Java转换器

发布时间:2020-12-15 04:42:21 所属栏目:Java 来源:网络整理
导读:我正在创建一个代码,允许您将二进制数转换为十进制数,反之亦然.我已经创建了一个将十进制转换为二进制的代码,但无法研究如何实现二进制到十进制的方面. 我的十进制到二进制的代码如下: import java.util.*;public class decimalToBinaryTest{ public static
我正在创建一个代码,允许您将二进制数转换为十进制数,反之亦然.我已经创建了一个将十进制转换为二进制的代码,但无法研究如何实现二进制到十进制的方面.

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

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

   }
}

解决方法

样品:

00000100

0 – 1
0 – 2
1 – 4
0 – 8
0 – 16
0 – 32
0 – 64
0 – 128

位1 = 4的求和值

祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读