题目称不让我们使用加减乘除的符号,于是我立马想到了应该使用位运算,而位运算里的加法是如何实现的呢? 首先可以看一下十进制里的加法是如何实现的: 比如18 和 198,在计算时我们总是在计算每一位时就顺便做了下进位,但拆分来看则是可以分为 进位数+相加数 即 110(即11 进了一位) + 106 = 216 ,于是二进制也等同:如1101 和 0111 在二进制里没有2 所以 1 + 1 = 0(忽略进位), 0 + 1 = 1, 0 + 0 = 0 , 这三个算式并列在一起那不就是异或运算嘛,于是我们使用异或来表示相加数,得相加数为1010,而进位数同理 1 + 1 = 1, 0 ...