python - 如何将 2 个二进制数相加而不将它们转换为整数?
问题描述
我需要帮助!
I need to sum 2 binary numbers without converting them into integers...
我需要总结这些:
0+0
0+1
1+1
11+11
110+100
请帮忙!
解决方案
好习惯。
num1 = '110'
num2 = '1011'
max_len = max(len(num1), len(num2))
result = [0] * max_len
rev_num1 = num1[::-1]
rev_num2 = num2[::-1]
for i in range(len(num1)):
result[i] = int(rev_num1[i])
over = 0
for i in range(len(num2)):
result[i] += int(rev_num2[i]) + over
over = 0
if result[i] > 1:
result[i] %= 2
over = 1
result[i] %= 2
if over == 1:
result.append(1)
print(''.join(str(s) for s in result[::-1]))
推荐阅读
- android - Android 9 上的 React Native 网络失败
- sql - 按 (city,sku) 分组选择两列,但仅按 (city) 显示前 5 个寄存器
- pytorch - Masking and computing loss for a padded batch sent through an RNN with a linear output layer in pytorch
- wpf - WPF DelegateCommand 如何控制何时调用 CanExecute 方法
- ruby - 如何使用计数器方法打印返回的只有英文的推文数量?
- node.js - transform coding in nodejs with Iconv
- javascript - 为我的 React typescript 项目配置 Webpack(Webpack 版本 4.39.2)
- r - 在 R 中将文本拆分为不重叠的 ngram
- c# - Xamarin 拖放标签
- html - 响应式容器