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

来源:互联网 发布:mysql返回自增id 编辑:程序博客网 时间:2024/06/08 00:47

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

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

原创粉丝点击