CINTA扩展作业3

在这里插入图片描述

这个算法是把 b 转换为二进制之后从高位往低位读取,算法接着先让 c 变为二倍,且让 d 做平方运算,再判断 b 的当前位上是否为 1 ,为一的话让 c 加 1 ,且让 d 扩大 a 倍,否则不做操作。循环往复,最后 d 即使所求的结果, c 是 b 的十进制数。

不一样的地方其一:

这个算法是把 b 转换为二进制之后从高位往低位读取,书上是从低位到高位一步步运算

不一样的地方其二:

这个算法不论 b 当前位上是否为 1 ,都会让 d 做平方运算,而书上只有当 b 当前位上为 1 时才让平方运算的结果乘入最终结果

不一样的地方其三:

这个算法当 b 当前位上为 1 时会让 d 扩大 a 倍,书上则没有这一步


我更倾向于书上的算法,因为书上的算法原理更好懂,更好懂就意味着实现起来更得心应手。

Supongo que te gusta

Origin blog.csdn.net/weixin_51280668/article/details/120981665
Recomendado
Clasificación