使用python进行十进制和二进制(补码)相互转换
使用python进行十进制和二进制相互转换
python中进制转换有专门的函数,如hex,int,oct,bin.见下图.
不过如果我将一个负数使用bin转换为2进制,得到的并不是补码形式。如:
>>> bin(-5)
'-0b101'
我在硬件实现中需要的是补码的二进制数据。因此,我自己做了一个十进制-二进制转换函数。
def intToBin(number,index,feature=True):
"""index为该数据位宽,number为待转换数据,
feature为True则进行十进制转二进制,为False则进行二进制转十进制。"""if (feature==True):#十进制转换为二进制if(number>=0):b=bin(number)b = '0' * (index+2 - len(b)) + belse:b=2**(index)+numberb=bin(b)b = '1' * (index+2 - len(b)) + b #注意这里算出来的结果是补码b=b.replace("0b",'')b=b.replace('-','')return belif(feature==False):#二进制转换为十进制i=int(str(number),2)if(i>=2**(index-1)):#如果是负数i=-(2**index-i)return ielse:return i
# 测试代码,测intToBin
# while(1):
# number=int(input("number="))
# index=int(input("index="))
# feature=int(input("feature="))
# re=intToBin(number,index,feature=feature)
# print("result=",re)
如有错误,欢迎读者纠正。
使用python进行十进制和二进制(补码)相互转换相关推荐
- python十进制转换其他进制直到输入q结束,python二进制转换,python将十进制转为二进制,题目描述:输入一个整...
python二进制转换,python将十进制转为二进制,题目描述:输入一个整 题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: python没有unsignedin ...
- matlab十进制转二进制补码函数
matlab十进制转二进制补码函数 函数代码 读者可根据需求对函数进行更改. %%十进制整数转二进制反码 function Bin = dTobin(N,M)%N表示位数,M表示十进制数,if (M ...
- python:实现十进制转二进制算法(附完整源码)
python:实现十进制转二进制算法 def decimal_to_binary(num: int) -> str:if isinstance(num, float):raise TypeErr ...
- C语言 十进制转二进制补码(正负都可) 指针 初学
十进制转二进制补码(正负都可) 指针初学 将一个十进制正(负)整数转换为对应的二进制补码(用指针完成 十进制转二进制:1.先判断该整数是正数还是负数 如果是正数则二进制补码首位为1 , 且对应的二进制 ...
- 十进制、二进制补码、16进制补码的转换
十进制转二进制补码 首先要明确的是:十进制直接转成二进制是转化为二进制原码,正数的原码和补码相同,但负数的原码按位取反末位加一才是补码. 因此流程图大概如下: 整个代码我贴在最后 主要逻辑代码: pu ...
- Python实现十进制转二进制
Python实现十进制转二进制 num=10 result=[] while 1:res=num//2num = resprint(res%2)result.append(str(res%2))if ...
- python语言十进制转二进制_python十进制转二进制的详解
python十进制转二进制 python中十进制转二进制使用 bin() 函数. bin() 返回一个整数 int 或者长整数 long int 的二进制表示. 下面是使用示例: >>&g ...
- python怎么编程十进制转化成二进制_Python实现十进制和二进制之间相互转换
原博文 2019-08-05 12:53 − 十进制转二进制 原理:采用除2取余,逆序排列输出. 实现:用2整除十进制整数,可以得到一个商和余数:再用2去除商,又会得到一个商和余数,如此进行,直到商为 ...
- python递归十进制转化二进制_什么是递归?用十进制转二进制的Python函数示例说明...
先上用Python写的十进制转二进制的函数代码: def Dec2Bin(dec): result = '' if dec: result = Dec2Bin(dec//2) return resul ...
最新文章
- Linux下添加新硬盘,分区及挂载
- php foreach 修改数组,php如何使用foreach修改数组
- g++ vscode 环境选择_Visual Studio Code 配置C/C++环境
- Pytorch 加载和保存模型
- jsp论坛网站模版_网站关键词优化怎么做
- windows。forms.timer设置第一次不等待_面试官:换人!他连 TCP 这几个参数都不懂(一)...
- Kafka 的生产者优秀架构设计
- Spring映射器、适配器、解析器
- 单片机牛人的学习经历
- [转]计算机四级网络工程师思维导图--操作系统部分
- vb.net 教程 3-1 窗体编程基础 2
- 台式计算机cpu允许温度,台式机cpu温度多少正常 台式机cpu正常温度
- WPF之Binding深入探讨
- C#中导出Excel的单元格属性设置
- Y C夏季Demo Day最有趣的8家创业公司
- Windows 下令 OpenCV 支持 h.264 视频编码的方法
- 第K短路(A*算法)
- 分类算法SVM(支持向量机)
- 绘制森林资源图的工具介绍
- 论文管理系统(登录功能)
热门文章
- 公众号运营新规则,插入任意小程序不再需要关联
- 在线云办公,筑牢防疫安全网
- VoltDB Admin Guide
- 记录gen8使用esxi6.5过程,装群晖
- winform控件学习(2)—HScrollBar控件和MaskedTextBox控件
- 计算机软件盘怎么打开,如何打开软键盘,教您电脑怎么打开软键盘
- oracle和表名同名冲突,Oracle 同一SID下不同用户同名表名问题
- fastclick使用与解密
- signature=88ae700e7f08374e29ec75da70494270,Composite racquet with double tube head frame
- alv回车_ALV回车事件