二进制十进制互换代码实现
1.十进制转二进制:
将余数和最后的1从下向上倒序写 就是结果
例如302
302 2 = 151 余0
151 2 = 75 余1
75 2 = 37 余1
37 2 = 18 余1
18 2 = 9 余0
9 2 = 4 余1
4 2 = 2 余0
2 2 = 1 余0
1 2=0 余1
故二进制为100101110
2.二进制转为十进制
先把二进制从高位(最左边的“1”)开始按从上到下的顺序写出 ,第一位就是最后的商 “2 2 = 1 余0 “,余数肯定是加零。其他位数如果有”1“(原来的余数),就先乘以”2“再加”1“。
下面就是从第一位开始乘以2加余数的方法算回去
例如 100101110
1…………0 2+1=1…………余数为1
0…………1 2+0=2………… 余数为0
0 …………2 2+0=4 ………… 余数为0
1 …………4x2+1=9……………… 余数为1
0…………9x2+0=18 ……………… 余数为0
1 …………18 2+1=37 …………余数为1
1…………… 37 2+1=75…………余数为1
1………………75 2+1=151………… 余数为1
0………………151 2+0=302 ………… 余0
所以得到十进制数302
另:128+0*27+026+1*25+024+1*23+122+1*21+0=302(最后一位应为加法)
代码实现
a=‘11’
b= ‘1’
实现 a,b相加为二进制:100,即得出十进制:4.
class Solution(object):def addBinary(self, a, b):""":type a: str:type b: str:rtype: str"""# 先转十进制相加,再转成二进制输出。if a == '0' and b == '0': return '0'sum_a = 0sum_b = 0for x in a:sum_a =2*sum_a+int(x)for x in b:sum_b =2*sum_b+int(x)sum_tot=sum_a+sum_b#十进制转二进制,通过每次与2相除判断是否存在余数,存在则减1,直至除至为1结束。b=0bin_fin = ''while sum_tot != 0:if sum_tot%2==1:bin_str='1'sum_tot=(sum_tot-1)/2bin_fin=bin_fin+bin_strelse:sum_tot=sum_tot/2 bin_str='0'bin_fin=bin_fin+bin_strreturn bin_fin[::-1]
二进制十进制互换代码实现相关推荐
- java二进制转十进制代码_二进制转十进制java代码
二进制转十进制java代码 Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer. ...
- 十进制转为二进制的JAVA代码
在网上搜索了十进制转为二进制的JAVA代码,没有满意的,自己写了一个,与大家一起分享. /** * 十进制转化为二进制的内容堆栈,堆栈进入的顺序是由低到高的 * @param dec dec为 ...
- 【iOS】二进制十进制十六进制转换器
还是那句话,没有第一时间在网上找到想要的参考代码,就自己动手做了一个. 总感觉进制转换应该有系统方法,哪位大神若知道还请不吝赐教. // // MainViewController.m // Comp ...
- 微型计算机有多少进制,微型计算机原理二进制十进制十六进制.doc
微型计算机原理二进制十进制十六进制 1:微处理器和微型计算机的发展 自1946年世界上第一台计算机问世以来,计算机科学与技术得到了飞速的发展,短短50多年时间,已经经历了电子管.晶体管.集成电路.超大 ...
- 同步电路出现异步清零可以吗_异步计数器 || 计数器的分类 ||异步二进制十进制|| 74290 8421 5421 || 数电...
异步计数器 || 计数器的分类 || 异步 二进制 十进制 || 74290 || 数电 这一节介绍异步二进制计数器. 计数器功能: 计数器是对输入脉冲个数进行计数的时序电路. 计数器除了直接用于计数 ...
- vivado中如何读取十进制小数_二进制十进制间小数怎么转换,原来是这样的
二进制十进制间小数怎么转换?感兴趣的小伙伴们快来了解一下吧. 工具/材料 纸.笔 十进制的小数到二进制的转换 01 步骤: 1.小数部分*2: 2.得到的结果*2,取整数部分. 3.得到的结果*2,取 ...
- 二进制十进制十六进制转换_二进制数制到十进制数制的转换
二进制十进制十六进制转换 Prerequisite: Number systems 先决条件: 数字系统 To convert binary number to its respective deci ...
- jk触发器改为四进制_异步计数器 || 计数器的分类 ||异步二进制十进制|| 74290 8421 5421 || 数电...
异步计数器 || 计数器的分类 || 异步 二进制 十进制 || 74290 || 数电 这一节介绍异步二进制计数器. 计数器功能: 计数器是对输入脉冲个数进行计数的时序电路. 计数器除了直接用于计数 ...
- stm32十六进制字符串转十进制数值代码
stm32十六进制字符串转十进制数值代码 CSDN不会用,文档写在语雀内 转载请注明作者:DK127.Holinkity 代码公开仅供参考,不允许用来赚CSDN币谢谢 附上参考代码:https://w ...
最新文章
- java锁(公平锁和非公平锁、可重入锁(又名递归锁)、自旋锁、独占锁(写)/共享锁(读)/互斥锁、读写锁)
- Spinner 使用的使用 报错:ArrayAdapter requires the resource ID to be a TextView
- 别忽视新冠轻症,它会损害你的记忆力
- unity字符串换行符_Unity中Text中首行缩进两个字符和换行的代码
- python【蓝桥杯vip练习题库】ADV-188排列数
- Linux 信号signal处理函数--转
- 一文搞懂 Promise、Genarator、 Async 三者的区别和联系
- ftp 工具_ftp,win7的ftp工具
- Linux安全配置规范
- 苹果6能解掉id锁吗_iPhone进水保修吗?苹果官方正式回应了
- prince2证书有含金量吗?
- 怎样使用Excel填充柄的作用与功能
- 阿里张建锋:互联网主要解决三大问题
- Linux防火墙放行gre隧道,防火墙 tunnel(GRE隧道)+×××配置过程分析
- FPGA自学11——以太网通信
- 计算雅思成绩C语言,雅思总成绩计算四舍五入查分表
- 华为服务器麒麟系统,华为正自主研发麒麟OS系统 支持全新系列机型
- 如何在winows的PPT里面使用醒目的思源系列字体(思源宋体/黑体)
- 闷声发大财的ARM凭什么这么牛
- Windows 10 远程桌面记住密码 (mstsc 怎么记住密码)