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

从右往左

举例:10110

按权展开相加
0*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 0 + 2 + 4 + 0 + 16 =22
简化展开,去除位数为0,如下
2^1 + 2^2 + 2^4 = 2 + 4 + 16 = 22
/*** 已知二进制数字符串101101,求十进制整数*/public static int binaryStrToInt(String bstr) {int result = 0 ;for (int i = 0; i < bstr.length(); i++) {int bit = Integer.parseInt(String.valueOf(bstr.charAt(i)));result += bit * (1<< (31-(31 - bstr.length()) - 1 -i)) ;}return  result ;}

从左往右

每一位的和sum * 2 + 当前位数(0|1),最后sum的值即为十进制数
sum = 0
sum = 0 *2 + 1 = 1
sum = 1 *2 + 0 = 2
sum = 2 *2 + 1 = 5
sum = 5 *2 + 1 = 11
sum = 11 *2 + 0 = 22
即十进制为22
总结公式:
sum = sum * 2 + i
==> sum = sum << 1 + (i & 1)
/*** 已知二进制数字符串101101,求十进制整数*/public static int binaryStrToInt(String bstr) {int result = 0 ;for (int i = 0; i < bstr.length(); i++) {int bit = Integer.parseInt(String.valueOf(bstr.charAt(i)));result = (result << 1) + bit;}return  result ;}

二进制转十进制的两种方法相关推荐

  1. 二进制转八进制的两种方法

    解法一: #include<math.h> #include<stdio.h> #include<stdlib.h> int main_5() { char arr ...

  2. 二进制(二):十进制转二进制的两种方法

    前一篇已经简单介绍了二进制,现在来介绍如何把我们常用的十进制数字转换成二进制.十进制转二进制有两种方法: 一.连除法(把十进制数字除以2,得到商和余数,再把商除2,直到除到0为止,然后按倒序把余数排列 ...

  3. VB 两种方法实现热键

    方法一: Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Intege ...

  4. 站长在线Python精讲:在Python中格式化字符串的两种方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...

  5. mysql+数据库连接标识_新人必看!连接到MySQL数据库的两种方法

    原标题:新人必看!连接到MySQL数据库的两种方法 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysq ...

  6. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  7. JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程

    启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...

  8. 图文+视频手把手教您:两种方法增加PowerPoint可撤消(可撤销)次数

    导读:微软的Office在2007及以后的版本中,对可撤消(可撤销--六分办公注:实际上应为撤销,微软官方称之为撤消)次数默认为100次,如果要增加可撤消(可核销)次数,PowerPoint有两种方法 ...

  9. 使用ArcGIS获取行政区四至坐标的两种方法

    ** 使用ArcGIS获取行政区四至坐标的两种方法 ** 今天听了赵老师的课,学到好多知识.尤其是获取行政区四至坐标的两种方法. 首先,说一下数据.数据包括好多个行政区,见图. 第一种方法:使用pyt ...

最新文章

  1. java socket通信
  2. 当一个项目中同时存在webroot和webcontext时
  3. 如何修改textarea中placeholder的字体
  4. 在机器学习中,ground truth是什么意思?
  5. 输入长度_CAD怎么测量长度?
  6. WebAPI——自动生成帮助文档
  7. plt导致的_tkinter.TclError: no display name and no $DISPLAY environment variable的问题
  8. 电脑快速截屏(缺少PrtScr键)
  9. Fedora9虚拟机下与windows共享文件
  10. 笔记本 续航测试软件,续航测试:较高强度运行状态_笔记本评测-中关村在线
  11. 数据库表关系详解(一对多、一对一、多对多)
  12. 【Linux】网站后台设置及管理
  13. 给Android手机设置的壁纸应该是多大尺寸
  14. IDEA怎么查看现在的项目使用的JDK版本?
  15. 【Matlab】imresize的用法
  16. eNSP实验日记二划分Vlan
  17. 通过ssh隧道访问mysql
  18. 用QT和sqlite做一个小小的进销存(1)
  19. 计算机二级excel不会公式时候,计算机二级excel公式总结
  20. luogu 3618 误会 关于字符串Hash

热门文章

  1. 微信的几个实用功能分享
  2. 经纬高坐标系-ECEF坐标系-ENU坐标系
  3. 利用计算机进行有理数的运算教学反思,七年级数学上册《有理数的加法运算律》教学反思...
  4. python 利用chinese_calendar 获取上一个工作日日期
  5. Unity|播放声音(背景音乐)
  6. python实现将pdf文件转为jpg图片文件的总结
  7. 不降低软件质量,如何有效节省开发成本?
  8. 编辑器未包含main类型解决方法
  9. 支付渠道网关设计2.0版本
  10. VS Code智能提示功能之Typings