首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

不应用变量实现两个变量的数值转换

2011-12-12 
不使用变量实现两个变量的数值转换int a3,b4ba+bab-abb-a请问还有其他方法不?是不是有个什么临时

不使用变量实现两个变量的数值转换
int a=3,
  b=4;
b=a+b;

a=b-a;
b=b-a;

请问还有其他方法不?
是不是有个什么临时储存?

[解决办法]
我觉得这办法已经很简单了,还有一个用或运算的。人家说溢出可能是超出精度了。
[解决办法]
a/=2
b/=2

b=a+b; 

a=(b-a)*2; 
b=(b-a)*2; 

这样不会溢出了吧

[解决办法]
四个整数类型的范围
byte -2的7次方 ... 2的7次方-1
short -2的15次方... 2的15次方-1
int -2的31次方 ... 2的31次方-1
long -2的63次方 ... 2的63次方-1

临时存储时采用了一个中间变量,如下
int a=3, 
b=4; 
int temp;//temp 中间变量
temp = a;
a = b;
b = temp;

[解决办法]
int a=3, b=4;
a=a^b;
b=a^b;
a=a^b;
完成交换,此时a=4,b=3
[解决办法]

Java code
int a=3, b=4; a=b; b=b-b/a;
[解决办法]
探讨
int a=3, b=4;
a=a^b;
b=a^b;
a=a^b;
完成交换,此时a=4,b=3

热点排行