Max*_*gal 3 c algorithm
我必须实现一个获取两个数字之一的函数:4或7.该函数必须返回第二个数字而不使用算术运算,例如:
如果函数得到4作为参数 - 它返回7,
如果函数得到7作为参数 - 它返回4.
我寻找除了显而易见的解决方案 return x==7?4:7
return x==7?4:7
解决方案可能会解决这些数字的二进制表示属性.
Jua*_*pes 12
由于4是100二进制的而7是二进制的111,所以你只需要用3(11)对输入进行异或.
100
111
11
这样,100 xor 011 = 111和111 xor 011 == 100.
100 xor 011 = 111
111 xor 011 == 100
归档时间:
10 年,8 月 前
查看次数:
113 次
最近记录: