如何把十进制的数输入用二进制全加器,并以十进制输出

这篇博客探讨了如何使用Python实现二进制全加器,从十进制数转化为二进制输入,以及如何将二进制的全加结果转换为十进制输出。作者详细介绍了二进制加法的准则,并提供了将十进制转二进制列表以及将二进制列表转为十进制字符串的函数示例。
摘要由CSDN通过智能技术生成

二进制的全加器

二进制的算法准则

在写全加器前,我们先了解二进制的算法准则。
我们设A和B是两个相加的二进制数,C是从下一位获得的进位,两书相加的和在该位的值为Sum,全加器的两个输出仍然是给上一位的进位Carry。

A–B--C Sum–Carry
0–0--0 0–0
0–0--1 1–0
0–1--0 1–0
0–1--1 0–1
1–0--0 1–0
1–0--1 0–1
1–1--0 0–1
1–1--1 1–1

从上表得出,只要A、B、C中有任意两个输入的值是1,不管余下的一个输入值是多少,Carry一定会是1。即AB=1、AC=1、BC=1;即C=AB+AC+BC.
而Sum为1有四种情况,ABC、A(非B)(非C)、(非A)B(非C)、(非A)(非B)C。
那我们可以写出全加器的前一部分

def FA(a,b,c):
    Carry = (a and b) or (b and c) or (a and c)#这两行代码就是上面我们总结出的逻辑式,不要看到太多就觉得自己看不懂
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值