发布网友 发布时间:2022-04-24 22:31
共1个回答
热心网友 时间:2023-10-13 10:31
要知道BCD数是用四位二进制数来表示一位十进制数,那么两位BCD数进行加法时(和的范围是0~18),当结果超过9时就超过了一位BCD数的表示范围(0~9),这时需要用两位BCD数来表示该结果。比如3+8=11,用BCD码相加表示为 0011 + 1000 所得结果为1011,显然1011并不在一位BCD码的表示范围内,当给1011加上6(也就是0110时),得到的结果为 10001,也就是两位BCD数表示的11。
总结,当两位BCD数相加的结果大于9时,需要进行加6修正。
设计该“加6修正逻辑”的过程为:
卡诺图法:五变量的卡诺图,C0 F4 F3 F2 F1。用F表示结果,当F = 1时,表示需要作加6修正。
说明:C0 F4 F3 F2 F1为两位BCD数进行二进制相加后得到的结果(范围为0~18,因此需要5位二进制数来表示)。当C0为1时,也就是说相加结果大于15(在16~18之间),此时需要加6修正,F = 1。当C0为0时,表示所得结果在0~15之间,这时当结果也大于9时,需要加6修正,F = 1。
由于这里不方便画卡诺图了,就直接上结果:
F = C0 + F4&F3 + F4&F2
对上面的 F 的表达式变换一下就行了,变成只用与非门表示的形式。"~" 表示 “逻辑非”
F= ~[~(C0 + F4&F3 + F4&F2)] = ~{ ~C0 & [~(F4&F3)] & [~(F4&F2)] }