例:互换两个变量 i,j的值
因为数据有数据范围的限制,当数据过大超出数据范围的时候,就不能按如下方式互换
@Test
public void testChange(){
int i=21;
int j=22;
i=i+j;
j=i-j;
i=i-j;
System.out.println("i="+i+" j="+j);
}
正确的互换方式应该是按位运算符运算,隐性转换长二进制数进行移位,"^ 按位异或 "
@Test
public void testChange(){
int i=21;
int j=22;
i=i^j;
j=i^j;
i=i^j;
System.out.println("i="+i+" j="+j);
}
因为数据有数据范围的限制,当数据过大超出数据范围的时候,就不能按如下方式互换
@Test
public void testChange(){
int i=21;
int j=22;
i=i+j;
j=i-j;
i=i-j;
System.out.println("i="+i+" j="+j);
}
正确的互换方式应该是按位运算符运算,隐性转换长二进制数进行移位,"^ 按位异或 "
@Test
public void testChange(){
int i=21;
int j=22;
i=i^j;
j=i^j;
i=i^j;
System.out.println("i="+i+" j="+j);
}
本文探讨了在数据范围受限的情况下,如何通过按位运算符来进行变量值的正确交换,避免了传统方法可能引起的溢出问题,并提供了具体的代码示例。
361

被折叠的 条评论
为什么被折叠?



