算法学习笔记--4. 二进制求和

124 篇文章 0 订阅

给定两个二进制数,求他们的和(结果还是二进制)。

python中有相应的处理二进制数,十进制数的函数。
首先使用int()方法将二进制数转化成十进制数。
在bin()方法将十进制数转化成二进制数。
bin()方法返回的二进制数前面有0b标记,使用replace()方法将0b替换成None。
最后将结果转化成字符串输出。

In [19]: In [16]: def addBinary(a, b):
    ...:     ...:     A = int(a, base=2)
    ...:     ...:     B = int(b, base=2)
    ...:     ...:     result = bin(A + B).replace('0b','')
    ...:     ...:     return str(result)
    ...:     ...:

In [20]: addBinary('1010','1111')
Out[20]: '11001'

在编译器中使用help()方法能知道这些内置函数的用法(关键是要知道这些内置函数的存在不容易)。

In [21]: help(int())
Help on int object:

class int(object)
 |  int(x=0) -> integer
 |  int(x, base=10) -> integer
 |  
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is a number, return x.__int__().  For floating point
 |  numbers, this truncates towards zero.
 |  
 |  If x is not a number or if base is given, then x must be a string,
 |  bytes, or bytearray instance representing an integer literal in the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
...
In [27]: help(bin)
Help on built-in function bin in module builtins:

bin(number, /)
    Return the binary representation of an integer.

    >>> bin(2796202)
    '0b1010101010101010101010'

str.replace() :

 |  replace(...)
 |      S.replace(old, new[, count]) -> str
 |      
 |      Return a copy of S with all occurrences of substring
 |      old replaced by new.  If the optional argument count is
 |      given, only the first count occurrences are replaced.
 |  

前些天有篇笔记,关于手动转化二进制数和十进制数:大学计算机基础–3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值