回 帖 发 新 帖 刷新版面

主题:如何做BCD码加法器啊?

如何在VB6.0里实现BCD码加法器呢?关键是算法的思路,望各位编程高手指点!

回复列表 (共1个回复)

沙发

咳,不就是二-十进制嘛,说得那么文雅?

声明布尔变量二个:进位标志1,进位标志2
声明字节变量六个:加数1、被加数1、和1,加数2、被加数2、和2

对原加数取最低第一个字节,
do
    如果被加数存在该字节
        如果被加数还有更低位
            将更低位,直接写入和
        结束如果
        使用and运算将加数和被加数分别拆分成两位(并判断是否有大于9的情况,如果有,报警后退出)
        分别赋给加数1、被加数1、加数2、被加数2
        加 加数1,被加数1,进位2,和1,进位1
        加 加数2,被加数2,进位1,和2,进位2
        将和1与和2用or运算合成结果的一个字节,写入和
    否则
        将该字节写入和
    结束如果
    取下一字节
loop 直到两者都没有下一字节

sub 加(加数 字节,被加数 字节,进位 布尔,和 字节,和进位 布尔)
    和=加数+被加数
    如果 进位 和=和+1
    如果 和>9 
         和=和-10
         和进位=真
    否则
         和进位=假
    结束如果
end sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册