Open felix021 opened 11 years ago
huangz同学你的代码似乎有问题。 ripple-carry-adder 这个函数只是完成了各个信号的关联,并没有完成计算;而你在 iter 里面 get-signal/set-signal ,实际上是试图在关联的时候完成计算,而在关联的时候,A-list、B-list里是没有值的(或者说是它们的值是无意义的);实际的计算逻辑应当发生在set-signal以后。于是你的代码在关联的时候少关联了进位,在计算的时候又没能把进位计算进去……这是我的代码,供参考:https://github.com/felix021/sicp/blob/master/code/3-30.scm
Hi, felix021 ,谢谢提醒。
目前我正在忙一个项目,等完成之后我再来处理你的 issue ,请稍等一阵。
huangz同学你的代码似乎有问题。 ripple-carry-adder 这个函数只是完成了各个信号的关联,并没有完成计算;而你在 iter 里面 get-signal/set-signal ,实际上是试图在关联的时候完成计算,而在关联的时候,A-list、B-list里是没有值的(或者说是它们的值是无意义的);实际的计算逻辑应当发生在set-signal以后。于是你的代码在关联的时候少关联了进位,在计算的时候又没能把进位计算进去……这是我的代码,供参考:https://github.com/felix021/sicp/blob/master/code/3-30.scm