二进制数的加法
先看一个1bit输入的半加器:
其中,S是和,C_out是进位。从上图可以发现,S = A XOR B, C_out = A AND B,因此,一个半加器实际上是由异或门和与门电路实现的。
一个全加器,就是一个半加器增加一个进位输入,下面是一个1bit的全加器:
那么,如果要实现多bit数的加法,只需要用多个全加器即可,这样的加法器叫做Ripple-Carry Adder:
上图是一个32bit的Ripple-Carry Adder
二进制数的乘法
二进制数的乘法和十进制数的乘法,其基本原理是一样的
如上图所示,这两种数制的乘法都是把被乘数和乘数的每一位分别相乘,然后将得到的乘积根据所乘的乘数的位数进行移位,比如,在十进制数乘法中,如果将被乘数与乘数的个位相乘,那就把得到的乘积向左移动0位;如果被乘数与乘数的十位相乘,那就把得到的乘积向左移动1位…移位操作完成后,最后将这些移位后的乘积相加,就是最开始这两个被乘数与乘数的结果。
我们都知道,在二进制数中,只有数字0和1。在二进制数乘法中,如果与被乘数相乘的乘数的某一位为1,那结果就是被乘数本身,如果乘数的某一位为0,那此次的结果就是0。因此,二进制数乘法过程中的数次相乘,其实使用与门实现的。总结一句,二进制数乘法,是用与门与加法器实现的。
参考资料: 《数字设计和计算机体系结构》 David Money Harris, Sarah L. Harris
今天的文章二进制数的乘法_两个二进制数怎么相乘分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/52807.html