如何交换两个整型变量的值,你造吗
给定两个整型变量i,j,交换两者的值。
方式一:定义一个临时变量tmp,然后根据临时变量交换两个变量的值。
你以为这就对了吗?细想一下,如果i,j是负数呢?
方式二:不设立临时变量,用加法操作交换两个变量的值(也可以用乘法,原理一样,这里就不多赘述)。
你的数学知识积累还能撑住吗?
方式三:用异或运算交换两个变量的值。*(异或简单来说就是相同取0,不同取1)
还能看懂吗?
总结一下:
异或运算基于以下几个性质:
- 任意变量x与自身异或结果为0,即:
x^x = 0
- 任意变量x与0进行异或运算,结果不变,即:
x^0 = x
- 异或运算的结合性:
a^b^c = (a^b)^c = a^(b^c)
- 异或运算的交换性:
a^b = b^a
- 任意变量x与自身异或结果为0,即: