不用中间变量,如何实现两个double类型的数据的交换?
写一个函数
void exchange(double a,double b)
作用是把a b的值互换
函数中不能用除了a和b以外的第三个变量~
看起来似乎很简单~
有一个人给出一个算法:
a=a+b;
b=a-b;
a=a-b;
但是,这样做可能会存在两个数的和(或差)溢出,如果这两个数都很大。
由于是double类型,又不能用位操作~
不知道各位 有没有什么好的方法?
void exchange(double a,double b)
作用是把a b的值互换
函数中不能用除了a和b以外的第三个变量~
看起来似乎很简单~
有一个人给出一个算法:
a=a+b;
b=a-b;
a=a-b;
但是,这样做可能会存在两个数的和(或差)溢出,如果这两个数都很大。
由于是double类型,又不能用位操作~
不知道各位 有没有什么好的方法?
...全文
相关推荐
Java 交换两个变量的数值实现方法
对于基本数据类型,如int、double等,方法内部对参数的任何改变都不会影响到原始变量。
double数据类型
### double数据类型与doubledouble结构在计算机科学领域,`double`数据类型是一种用于存储实数的数据结构,尤其适用于需要高精度数值计算的应用场景。
程序中两个Double类型相加出现误差的解决办法
当两个Double变量相加时,计算机会进行二进制运算,这个过程中可能会引入微小的误差,虽然人眼难以察觉,但在累计多个这样的计算后,误差会逐渐放大。
Java 变量和数据类型
**变量值互换** 当需要交换两个变量的值时,通常需要一个临时变量作为中介。
c语言double类型默认输出小数几位
例如,使用printf函数输出double类型变量a的值时,代码为`printf("%lf\n", a);`,输出结果将是`1.000000`。然而,在某些情况下,六位小数可能太长或太短。


