CodeAE代码之家-专为程序员打造的技术家园!-网站地图
广场
›
编程语言
› 8.10 不使用新变量交换a,b变量的一个不溢出的方法(非异或)
唐伯虎
发表于 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变量的一个不溢出的方法(非异或)