如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 299 编程语言
用PYTHON解决二进制求和问题
打开JUPYTER NOTEBOOK。
a = "1010"
b = "1011"
Output: "10101" 这是我们要计算的最终结果
index_a = len(a) - 1
index_b = len(b) - 1
这里看似定义长度,实际要定义序号,因为要倒序的方式进行计算。
carry = 0
sum = ""
设置进位的计算变量,最终结果要以字符串为目标。
while index_a >= 0 or index_b >= 0:
index_a, index_b = (index_a - 1), (index_b - 1)
因为要倒序,可以设置一下循环的条件。
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
让每个数相加要先转换为整型。
index_a, index_b = (index_a - 1), (index_b - 1)
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
if index_b >= 0:
y = int(b[index_b])
else:
y = 0
两边都设置一下,循环完了其中一个就要等于0。
index_a, index_b = (index_a - 1), (index_b - 1)
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
if index_b >= 0:
y = int(b[index_b])
else:
y = 0
if (x y carry) % 2 == 0:
sum = sum "0"
每一位相加只有4种结果,0,1,2,3,。余数为0和2的时候当前的数要变为0.
index_a, index_b = (index_a - 1), (index_b - 1)
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
if index_b >= 0:
y = int(b[index_b])
else:
y = 0
if (x y carry) % 2 == 0:
sum = sum "0"
else:
sum = sum "1"
每一位相加只有4种结果,0,1,2,3,。余数为1和3的时候当前数要变为1.
index_a, index_b = (index_a - 1), (index_b - 1)
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
if index_b >= 0:
y = int(b[index_b])
else:
y = 0
if (x y carry) % 2 == 0:
sum = sum "0"
else:
sum = sum "1"
carry = (x y carry) // 2
if carry == 1:
sum = sum "1"
每一位相加只有4种结果,0,1,2,3。其中1和3除以2的时候余数为1。
index_a, index_b = (index_a - 1), (index_b - 1)
a = "1010"
b = "1011"
index_a = len(a) - 1
index_b = len(b) - 1
carry = 0
sum = ""
while index_a >= 0 or index_b >= 0:
if index_a >= 0:
x = int(a[index_a])
else:
x = 0
if index_b >= 0:
y = int(b[index_b])
else:
y = 0
if (x y carry) % 2 == 0:
sum = "0" sum
else:
sum = "1" sum
carry = (x y carry) // 2
index_a, index_b = (index_a - 1), (index_b - 1)
if carry == 1:
sum = "1" sum
注意"0"在sum前面。然后if要和while对齐,因为如果最后还要进位的话,判断一下。
print(sum)
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 299 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 522 编程语言