python - 如何在 Python 中为两个二进制字符串计算模块 2?
问题描述
所以我有作业要做
我需要为 3 个不同的输入 模拟Vernam 密码(通过模块 2 添加两个二进制字符串):文本、图像和伪随机数组。但我无法弄清楚如何为二进制字符串做模块..
请帮忙 :(
解决方案
这应该工作 -
def bin_string_to_int(s):
breakdown = [int(d)*2**n for n,d in enumerate(reversed(s))]
# breakdown.reverse() # to check the exponents
return sum(breakdown)
b1 = "101" # 5 in binary
b1_in_int = bin_string_to_int(b1)
b2 = "10" # 2 in binary
b2_in_int = bin_string_to_int(b2)
print(b1_in_int % b2_in_int)
推荐阅读
- javascript - 使用 Selenium WebDriver 和 JavaScript 从 XPath 元素获取文本
- c - (C) 如何检查文件是否结束
- bash - 无法使用 nginx、fastcgi 和 bash 在 cgi 上禁用缓冲
- python - 在数据框中找到列表交集而不是逐行查找的更快方法?
- flutter - 2部手机不同高度颤动
- python - 计算超定义平面的梯度
- powershell - try catch 块中的 Powershell 删除项目失败,但未引发异常
- selenium - FirefoxDriverService 在 Selenium 服务器中不可用
- javascript - unscbribe 后的 mqtt.js 仍然收到来自旧侦听器的消息
- assembly - 使用 x86_64-linux-android-gcc 编译汇编代码的问题