使用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进行十进制和二进制(补码)相互转换相关推荐

  1. python十进制转换其他进制直到输入q结束,python二进制转换,python将十进制转为二进制,题目描述:输入一个整...

    python二进制转换,python将十进制转为二进制,题目描述:输入一个整 题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: python没有unsignedin ...

  2. matlab十进制转二进制补码函数

    matlab十进制转二进制补码函数 函数代码 读者可根据需求对函数进行更改. %%十进制整数转二进制反码 function Bin = dTobin(N,M)%N表示位数,M表示十进制数,if (M ...

  3. python:实现十进制转二进制算法(附完整源码)

    python:实现十进制转二进制算法 def decimal_to_binary(num: int) -> str:if isinstance(num, float):raise TypeErr ...

  4. C语言 十进制转二进制补码(正负都可) 指针 初学

    十进制转二进制补码(正负都可) 指针初学 将一个十进制正(负)整数转换为对应的二进制补码(用指针完成 十进制转二进制:1.先判断该整数是正数还是负数 如果是正数则二进制补码首位为1 , 且对应的二进制 ...

  5. 十进制、二进制补码、16进制补码的转换

    十进制转二进制补码 首先要明确的是:十进制直接转成二进制是转化为二进制原码,正数的原码和补码相同,但负数的原码按位取反末位加一才是补码. 因此流程图大概如下: 整个代码我贴在最后 主要逻辑代码: pu ...

  6. Python实现十进制转二进制

    Python实现十进制转二进制 num=10 result=[] while 1:res=num//2num = resprint(res%2)result.append(str(res%2))if ...

  7. python语言十进制转二进制_python十进制转二进制的详解

    python十进制转二进制 python中十进制转二进制使用 bin() 函数. bin() 返回一个整数 int 或者长整数 long int 的二进制表示. 下面是使用示例: >>&g ...

  8. python怎么编程十进制转化成二进制_Python实现十进制和二进制之间相互转换

    原博文 2019-08-05 12:53 − 十进制转二进制 原理:采用除2取余,逆序排列输出. 实现:用2整除十进制整数,可以得到一个商和余数:再用2去除商,又会得到一个商和余数,如此进行,直到商为 ...

  9. python递归十进制转化二进制_什么是递归?用十进制转二进制的Python函数示例说明...

    先上用Python写的十进制转二进制的函数代码: def Dec2Bin(dec): result = '' if dec: result = Dec2Bin(dec//2) return resul ...

最新文章

  1. Linux下添加新硬盘,分区及挂载
  2. php foreach 修改数组,php如何使用foreach修改数组
  3. g++ vscode 环境选择_Visual Studio Code 配置C/C++环境
  4. Pytorch 加载和保存模型
  5. jsp论坛网站模版_网站关键词优化怎么做
  6. windows。forms.timer设置第一次不等待_面试官:换人!他连 TCP 这几个参数都不懂(一)...
  7. Kafka 的生产者优秀架构设计
  8. Spring映射器、适配器、解析器
  9. 单片机牛人的学习经历
  10. [转]计算机四级网络工程师思维导图--操作系统部分
  11. vb.net 教程 3-1 窗体编程基础 2
  12. 台式计算机cpu允许温度,台式机cpu温度多少正常 台式机cpu正常温度
  13. WPF之Binding深入探讨
  14. C#中导出Excel的单元格属性设置
  15. Y C夏季Demo Day最有趣的8家创业公司
  16. Windows 下令 OpenCV 支持 h.264 视频编码的方法
  17. 第K短路(A*算法)
  18. 分类算法SVM(支持向量机)
  19. 绘制森林资源图的工具介绍
  20. 论文管理系统(登录功能)

热门文章

  1. 公众号运营新规则,插入任意小程序不再需要关联
  2. 在线云办公,筑牢防疫安全网
  3. VoltDB Admin Guide
  4. 记录gen8使用esxi6.5过程,装群晖
  5. winform控件学习(2)—HScrollBar控件和MaskedTextBox控件
  6. 计算机软件盘怎么打开,如何打开软键盘,教您电脑怎么打开软键盘
  7. oracle和表名同名冲突,Oracle 同一SID下不同用户同名表名问题
  8. fastclick使用与解密
  9. signature=88ae700e7f08374e29ec75da70494270,Composite racquet with double tube head frame
  10. alv回车_ALV回车事件