1.问题

Examples :

Input : 111
Output : 7

Input : 1010
Output : 10

Input: 100001
Output: 33

2.思路

  • 从最右边的数字开始提取给定二进制数的数字并保留一个变量 dec_value。
  • 在从二进制数中提取数字时,将数字乘以适当的基数(2 的幂)并将其添加到变量 dec_value 中。
  • 最后,变量 dec_value 将存储所需的十进制数。

例如: 如果二进制数是111。 dec_value = 1*(22) + 1*(21) + 1*(20) = 7

3.解题方法

1)使用预定义函数

public class T1 {public static void main(String args[]){String binaryNumber = "111";System.out.println(Integer.parseInt(binaryNumber, 2));}
}
7

2)整数来存储二进制值

public class T1 {public static int binaryToDecimal(int n){int num = n;int dec_value = 0;// 初始化基数为1,即2^0int base = 1;int temp = num;while (temp > 0) {// 取出二进制数的最后一位int last_digit = temp % 10;temp = temp / 10;// 将二进制数的每一位乘以对应的基数,然后相加
//            dec_value += last_digit * base;dec_value = last_digit +dec_value*2;// 更新基数base = base * 2;}return dec_value;}// 测试代码public static void main(String[] args) {int num = 111;System.out.println(binaryToDecimal(num));}
}
7

3)符串变量来存储二进制值

public class T1 {static int binaryToDecimal(String n){// 将参数字符串赋值给变量 numString num = n;
// 初始化十进制整数为 0int dec_value = 0;
// 初始化基数为 1int base = 1;// 获取字符串长度int len = num.length();// 从字符串末尾开始遍历for (int i = len - 1; i >= 0; i--) {// 如果当前字符是 '1',则将对应的二进制位对应的十进制值加到 dec_value 中if (num.charAt(i) == '1')dec_value += base;// 将基数乘以 2,对应下一个二进制位的值base = base * 2;}// 返回最终的十进制整数return dec_value;}// 定义主函数 mainpublic static void main(String[] args){// 定义一个二进制字符串 numString num = new String("111");// 调用 binaryToDecimal 方法将二进制字符串转换成十进制整数,并打印输出结果System.out.println(binaryToDecimal(num));}
}
7

java 二进制到十进制转换3种思路解题相关推荐

  1. JAVA:二进制与十进制转换

    将十进制转换为二进制 将二进制转换为十进制 1. 将十进制转换为二进制: 思路:对十进制的数进行除2取余法: /*** 讲10 进制转化为二进制* @param de :待转换的十进制* @retur ...

  2. 初中计算机教案十进制转二进制,二进制与十进制转换(教案).doc

    二进制与十进制的转换教案 [教学目的与要求] 1.熟悉数制的概念: 2.掌握位权表示法: 3.熟练掌握二进制与十进制之间的转换方法. [课时安排] 1课时. [教学重点与难点] 1.难点:位权表示法 ...

  3. 二进制转十进制的两种方法

    二进制转十进制的两种方法 从右往左 举例:10110 按权展开相加 0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 0 + 2 + 4 + 0 + 16 =22 简化展 ...

  4. java 二进制转十进制的算法_java中十进制数转换二进制数

    将十进制转换成二进制的算法如下: 1.给定一个数: 2.根据十进制转换二进制的思想:把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止.所以我们要做的就是用你给定的这个数除以2,如果结 ...

  5. java二进制转十进制代码_二进制转十进制java代码

    二进制转十进制java代码 Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer. ...

  6. Java工作笔记-类型转换的一种思路(前后端分离、反射)

    这里主要是一种思路,前端可能会发送ajax请求.这个内容是json数据.这里面的数据可能全部是以字符串为主. 通常可以通过反射进行改变,如下的代码: 如下要转换成这些类型 不然当时候赋值的时候就麻烦了 ...

  7. JAVA:二进制和十进制互转

    package com.xxx.transfer;/*** 数字进制相互转换* @see JDK中提供了这些功能* @author le.li**/ public class NumberUtil { ...

  8. Python栈的应用之二进制与十进制转换

    示例: 233转为2进制:除2法,转8进制除8,转16进制除16 二进制数的尾:233//2=116 余1116//2=58 余058//2=29 余029//2=14 余114//2=7 余07// ...

  9. 进制转换之二进制与十进制转换

    一.正整数的十进制转换二进制: 要点:除二取余,倒序排列 解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等 于一或零时为止,倒取将除得的余数,即换算为二进制数的结果 例如把52换算成二进 ...

最新文章

  1. 十二、springboot 详解RestControllerAdvice(ControllerAdvice)
  2. Docker核心技术
  3. 爬虫自动登陆GitHub
  4. Untiy3D学习笔记记录
  5. MySQL中修改密码及访问限制设置详解
  6. linux下curl指令常见使用
  7. 几何着色器与细分(镶嵌)着色器
  8. QT 定时器与动画实现
  9. plsql developer连接oracle--本地不安装oracle
  10. GCP发布Kaniko:在非特权容器和Kubernetes中构建容器镜像的工具
  11. mac11.3成功编译taichi笔记
  12. FileStream:The process cannot access the file because it is being used by another process
  13. 使用python Gstreamer编写mp4视频播放器
  14. 怎样利用通达信软件调出半年线和年线?
  15. Python代码实现信息轰炸
  16. Vue2.0 —— 运用算法实现 AST 抽象语法树
  17. 域名解析问题:聚名网域名该如何解析?有什么介绍吗?
  18. 云计算:细分之七大类商业模式
  19. Java丨即时聊天程序的实现
  20. 健身的基本知识(4)

热门文章

  1. Jboss Seam
  2. 1小时完成别人5小时才能完成的事--信息爆炸时代提高效能
  3. 基于Java坦克大战小游戏设计 (2)
  4. 安卓版炉石修改服务器,炉石传说安卓/iOS开启流畅60帧的方法 60帧模式修改教程...
  5. Linux环境基础开发工具使用(上)
  6. ai云呼功能使用介绍
  7. 利用OpenCV的函数mean()和meanStdDev()计算图像的均值和标准差
  8. android 更新通讯录,搜狗号码通Android4.4更新 新增通讯录备份功能
  9. 做模具设计这些你知道嘛?来一起学习
  10. DRN: A Deep Reinforcement Learning Framework for News Recommendation (2018)