唐伯虎 发表于 2021-8-10 13:05:40

8.10 不使用新变量交换a,b变量的一个不溢出的方法(非异或)

问题:a=3,b=5,不使用新变量,交换a和b的值。
第一种  异或的方法直接可以交换不提
第二种:
a=a+b;
b=a-b;
a=a-b;
但a+b可能会溢出
所以   那为什么不用a=a-b不会溢出呢
a=a-b;
b=a+b;
a=b-a;
完美解决溢出的问题  而且比异或的方法易懂省事


文档来源:51CTO技术博客https://blog.51cto.com/u_15049350/3337237
页: [1]
查看完整版本: 8.10 不使用新变量交换a,b变量的一个不溢出的方法(非异或)