这里主要介绍两种方法,第一种方法比较容易理解,第二种昂就会抽象一点,我主要讲我自己的理解,希望能给大家一种启发。
第一种方法(加减法会溢出)
1.首先是将a+b的值赋值给a,这样a的值就变成了a+b,而b没有改变。
2.这样a-b就变成了原来的a+b-b=a,用b来接受,就成了b=a(这里的a是a的开始)a没有改变,还是a+b。
3.第三步就是a=a-b,由于b变成了a,a=a+b,所以a=b。
当a+b的值大于a的存储空间会造成溢出。
代码实现:
第二种方法(逻辑运算符不会溢出)
逻辑运算符是用于二进制的,因为二进制有个好处数字不是0就是1。0可以代表假,1代表真。这里主要是用到了异或的方法。相同得0,不同得1,可以抽象成加减法1+1=0(这里只算二进制的一位)1+0=1,减法也是一样。
主要思路其实和上面是一样的,这相当于另类的加减法,没有那么好理解。但是这种方法比上面的方法好。