空气中的小鱼 发表于 2011-6-11 08:59:33

变量算法探讨

如题:
#1=AA
#2=BB
AA、BB为整数
用程序实现交换#1、#2两值变量,如下:
#1=BB
#2=AA
前提:不可用到其他变量

第一种解法:
#1=AA
#2=BB
#1=#1+#2
#2=#1-#2
#1=#1-#2

第二种解法:
#1=AA
#2=BB
#1=#1 XOR #2
#2=#1 XOR #2
#1=#1 XOR #2

以上算法为程序优化算法,仅供参考

jiangssli 发表于 2011-6-11 14:24:23

后面这个暂时还没有明白!

灰太狼8859 发表于 2011-6-11 14:32:38

第二个不明白

空气中的小鱼 发表于 2011-6-11 14:37:08

{:4_91:}
不会是真的吧,不过现在真的很少去搞这些了,很多都忘记了

jiangssli 发表于 2011-6-11 14:37:10

异或是数据交换吗?

huanggong 发表于 2011-6-11 21:36:08

宏程序算法探讨

#1=AA
#2=BB
AA、BB为整数
用程序实现交换#1、#2两值变量,如下:
#1=BB
#2=AA
前提:不可用到其他变量

第一种解法:
#1=AA
#2=BB
#1=#1+#2
#2=#1-#2
#1=#1-#2
转载请注明出自若枫后处理论坛(http://postp.net/),本帖地址:http://postp.net/viewthread.php?tid=2488
这个在实际当中有什么作用呢?可否用程序举例说明!谢谢

若枫 发表于 2011-6-12 06:33:59

算法探讨

回复 1# huanggong


    变量交换.

就是把AA的值 给BB
把BB的值给AA

空气中的小鱼 发表于 2011-6-12 08:44:08

算法探讨

是的,一般用于变量替换
很多时候大家可能都是这样做的
比如:#1=50 #2=100
现在要交换两变量的值
#3=#1
#1=#2
#2=#3
这样也能实现,但是就是多用了一个变量,如果我们编写一套大型架构的程序,变量要合理的分配,尤其是那些老古董机床,变量很少,分配不合理很容易出现变量不够用的情况,虽然省变量的算法貌似大家看起来用处很少,但是我们能得知一种算法,说不定以后会派上用场呢。

wlljj 发表于 2011-6-17 21:26:13

缘来如此!

jiangssli 发表于 2011-6-18 02:13:59

回复 8# wmj820303


    王总 解释下第二种算法的运算过程噻!!!:lol
页: [1] 2 3
查看完整版本: 变量算法探讨