二进制转为十进制,十进制转为二进制

import java.math.BigInteger;

public class Hello{
public static void main(String args[]){
    //10进制->2进制 
  String a = "121";//输入数值 
    BigInteger src = new BigInteger(a);//转换为BigInteger类型 
    System.out.println(src.toString(2));//转换为2进制并输出
 
    //2进制->10进制 
  String b = "1111001";//输入数值 
    BigInteger src1= new BigInteger(b,2);//转换为BigInteger类型 
    System.out.println(src1.toString());//转换为10进制并输出结果 
 
  /*   由此可见,有2点要注意: 
1. BigInteger的构造函数 
  BigInteger(String src)默认参数字符串为10进制数值 
BigInteger(String src, int x)第2个参数x是指定第一个参数src的进制类型 

  2. toString方法 
toString()默认把数值按10进制数值转化为字符串。 
toString(int x)把数值按参数x的进制转化为字符串*/
}
}

另:
将十进制转换成二进制的算法如下:
1.给定一个数;
2.根据十进制转换二进制的思想:把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止。所以我们要做的就是用你给定的这个数除以2,如果结果为奇数则r=1,否则r=0;如此循环下去,直到这个数〉=1。
3.然后把r的值送到一个数组里面。最后把这个数组里面的内容从后面打印出来就可以了。 
import java.util.Scanner;

public class Hi {

public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    System.out.println("請輸入一個十進制需要轉換為二進制的正整數");
    int n=sc.nextInt();
  int r;
  int i=0;
  int[] a=new int[20];
  do{
     if(n%2==1)
      r=1;
  else
       r=0;
      a[i]=r;
    n/=2;
     i++;
    }while(n>0);
 
    System.out.println("十進制轉換為二進制後:");
    for(int j=i-1;j>=0;j--){
     System.out.print(a[j]);
    }
}
}

 

另:
二进制转换成十进制
import java.util.*;
public class Hello{
   public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      System.out.print("请输入一个二进制数");
      int s = sc.nextInt();
      int sum = 0;
      int i = 0;
      while(s != 0){
         sum = (int) (sum + s % 10 * (Math.pow(2,i)));
         s = s / 10;
         i ++;
      }
      System.out.println("转换为十进制后为:" + sum);
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值