用代码实现将二进制数转换为十进制,(非使用API)

在java的进制转换中,java自带的有相关的方法,二进制转换为十进制,只需要使用Inteager.valueOf(s,a),其中,s代表的是需要转换的二进制数,后面的a代表我们当前数的进制。比如我们要转换的数是二进制,则a为2.

但是,我们今天要写的是不使用这种自带的方法,来实现二进制到十进制的转换:

首先我们需要一个变量来存储我们的被转换数,其次,我们要使用的是一个变量来存储最终的输出结果,然后,是我们用一个数来实现位权 的变化,实现1.2.4.8.16.32.。。。。。。在这种转换的时候,他的循环条件是我们的被转换数不为0,在这个循环体内,用y来自增。对被转换数进行取余操作,然后乘上我们的权。然后更新被转换数,同时将权再乘以二,表示将权往前推一位:

具体程序可以看下面:public class CoreJava02 {
 /**
  * 用x存储要转换的二进制数,y是用来接受最终的结果
  *
  */
 public static void main(String[] args) {
  int x = 1001001, y = 0;
  // 二进制转换为十进制
  int t = 1;
  while (x > 0) {
   y += x % 10 * t;
   x = x / 10;
   t = t * 2;
  }
  System.out.print("输出的十进制数是:" + y);
 }
}
这里面,我们被转换数是x,存储结果是y,t是权位

当输入的数不为0的时候,进行循环,循环体里面,y实现自增,更新x,以及更新t;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值