一句代码将二转化为1,1转换为2

一句代码将2转化为1,1转换为2如题,不能使用if语句,只使用加减乘除余,不能使用三目运算符[解决办法]采用位

一句代码将2转化为1,1转换为2
如题,不能使用if语句,只使用加减乘除余,不能使用三目运算符
[解决办法]
采用位运算,只有两位的情况下,1表示为01,2表示为10,通过取反即可,C++中我们可以用一个char型表示,但前面的6位有影响,可以和3做与运算,3用两位二进制表示为11。代码如下:

char a = 1;
~a & 3;






[解决办法]
>只使用加减乘除余
不就是3-x么……