java 二进制到十进制转换3种思路解题
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种思路解题相关推荐
- JAVA:二进制与十进制转换
将十进制转换为二进制 将二进制转换为十进制 1. 将十进制转换为二进制: 思路:对十进制的数进行除2取余法: /*** 讲10 进制转化为二进制* @param de :待转换的十进制* @retur ...
- 初中计算机教案十进制转二进制,二进制与十进制转换(教案).doc
二进制与十进制的转换教案 [教学目的与要求] 1.熟悉数制的概念: 2.掌握位权表示法: 3.熟练掌握二进制与十进制之间的转换方法. [课时安排] 1课时. [教学重点与难点] 1.难点:位权表示法 ...
- 二进制转十进制的两种方法
二进制转十进制的两种方法 从右往左 举例:10110 按权展开相加 0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 0 + 2 + 4 + 0 + 16 =22 简化展 ...
- java 二进制转十进制的算法_java中十进制数转换二进制数
将十进制转换成二进制的算法如下: 1.给定一个数: 2.根据十进制转换二进制的思想:把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止.所以我们要做的就是用你给定的这个数除以2,如果结 ...
- java二进制转十进制代码_二进制转十进制java代码
二进制转十进制java代码 Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer. ...
- Java工作笔记-类型转换的一种思路(前后端分离、反射)
这里主要是一种思路,前端可能会发送ajax请求.这个内容是json数据.这里面的数据可能全部是以字符串为主. 通常可以通过反射进行改变,如下的代码: 如下要转换成这些类型 不然当时候赋值的时候就麻烦了 ...
- JAVA:二进制和十进制互转
package com.xxx.transfer;/*** 数字进制相互转换* @see JDK中提供了这些功能* @author le.li**/ public class NumberUtil { ...
- Python栈的应用之二进制与十进制转换
示例: 233转为2进制:除2法,转8进制除8,转16进制除16 二进制数的尾:233//2=116 余1116//2=58 余058//2=29 余029//2=14 余114//2=7 余07// ...
- 进制转换之二进制与十进制转换
一.正整数的十进制转换二进制: 要点:除二取余,倒序排列 解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等 于一或零时为止,倒取将除得的余数,即换算为二进制数的结果 例如把52换算成二进 ...
最新文章
- 十二、springboot 详解RestControllerAdvice(ControllerAdvice)
- Docker核心技术
- 爬虫自动登陆GitHub
- Untiy3D学习笔记记录
- MySQL中修改密码及访问限制设置详解
- linux下curl指令常见使用
- 几何着色器与细分(镶嵌)着色器
- QT 定时器与动画实现
- plsql developer连接oracle--本地不安装oracle
- GCP发布Kaniko:在非特权容器和Kubernetes中构建容器镜像的工具
- mac11.3成功编译taichi笔记
- FileStream:The process cannot access the file because it is being used by another process
- 使用python Gstreamer编写mp4视频播放器
- 怎样利用通达信软件调出半年线和年线?
- Python代码实现信息轰炸
- Vue2.0 —— 运用算法实现 AST 抽象语法树
- 域名解析问题:聚名网域名该如何解析?有什么介绍吗?
- 云计算:细分之七大类商业模式
- Java丨即时聊天程序的实现
- 健身的基本知识(4)
热门文章
- Jboss Seam
- 1小时完成别人5小时才能完成的事--信息爆炸时代提高效能
- 基于Java坦克大战小游戏设计 (2)
- 安卓版炉石修改服务器,炉石传说安卓/iOS开启流畅60帧的方法 60帧模式修改教程...
- Linux环境基础开发工具使用(上)
- ai云呼功能使用介绍
- 利用OpenCV的函数mean()和meanStdDev()计算图像的均值和标准差
- android 更新通讯录,搜狗号码通Android4.4更新 新增通讯录备份功能
- 做模具设计这些你知道嘛?来一起学习
- DRN: A Deep Reinforcement Learning Framework for News Recommendation (2018)