所有
有一个算法问题:在不使用+和 - 的情况下添加整数a和b。 我尝试使用XOR来做到这一点,但是当我使用2 ^ 3时结果变为1,我想我对^的理解是错误的,所以无论如何我想知道如何得到5?
由于
答案 0 :(得分:3)
1 0 => 2
^ 1 1 => 3
= 0 1 => 1
XOR表示一个或另一个,但不是两个。
答案 1 :(得分:1)
有趣的是,select Employee.Person, Production.Percent
from
Employee INNER JOIN SiteCode
on Employee.Site = SiteCode.Sitecode
INNER JOIN SiteCode.Sitecode = Production.Site
实际上是一个非常好的开始,但您需要更多代码才能将其转换为“添加”。
// "Constant Array of STR"
macro_rules! castr {
($($es:expr),* $(,)*) => {
{
const C: &'static [&'static str] = &[$($es),*];
C
}
};
}
fn main() {
test(castr!["a", "b", "penguin"]);
}
fn test(ss: &'static [&'static str]) {
println!("{:?}", ss);
}

答案 2 :(得分:0)
这是XOR工作的正确方式
1:0001 2:0010 3:0011
0010 ^ 0011将1s组合在一起只有1的位置。两个组中有1s的任何位置变为0.因此,2 ^ 3 == 1.
以下是不使用+
添加脑筋急转弯问题的解决方案https://helloacm.com/how-to-compute-sum-of-two-integers-without-plus-and-minus-operators/