当了解如何原始的运营商,如+,-,*并/用C实现,我发现从下面的代码片段一个有趣的答案。 // replaces the + operator int add(int x, int y) { while(x) { int t = (x & y) <<1; y ^= x; x = t; } return y; } 似乎该功能演示了如何+在后台实际工作。但是,这让我难以理解。我相信这种操作是使用编译器生成的汇编指令很长时间完成的! +操作员是否按照发布在MOST实施中的代码实施?这是否利用了二进制补码或其他与实现相关的功能?