Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在宏中使用逻辑异或运算符?不是如何通过宏定义XOR运算符 在C、C++、Objul-C、宏中使用逻辑XOR运算符 ^ ^ 有什么复杂的方法吗?_C++_Objective C_C_Macros_Logical Operators - Fatal编程技术网

如何在宏中使用逻辑异或运算符?不是如何通过宏定义XOR运算符 在C、C++、Objul-C、宏中使用逻辑XOR运算符 ^ ^ 有什么复杂的方法吗?

如何在宏中使用逻辑异或运算符?不是如何通过宏定义XOR运算符 在C、C++、Objul-C、宏中使用逻辑XOR运算符 ^ ^ 有什么复杂的方法吗?,c++,objective-c,c,macros,logical-operators,C++,Objective C,C,Macros,Logical Operators,我曾尝试直接在Objective-C中应用^,但它不起作用 编辑:让我澄清我的答案 我想要的是在宏中使用异或运算符。它并不意味着“如何通过宏定义xor运算符” 也就是说,我想要 #if defined(x) ^^ TARGET_OS_IOS ^^ __cplusplus 在贴出答案后的几秒钟里,我明白了自己的意思 !(A)!=!(B)将等效于xor运算符 如果操作数不同于2,则为更好的解决方案 !(A)^!(B)^!(C)^…在C或C++中没有逻辑异或运算符,!=怎么样?通过调用最少的C编程知

我曾尝试直接在Objective-C中应用
^
,但它不起作用

编辑:让我澄清我的答案

我想要的是在宏中使用异或运算符。它并不意味着“如何通过宏定义xor运算符”

也就是说,我想要

#if defined(x) ^^ TARGET_OS_IOS ^^ __cplusplus

在贴出答案后的几秒钟里,我明白了自己的意思

!(A)!=!(B)
将等效于xor运算符

如果操作数不同于2,则为更好的解决方案


!(A)^!(B)^!(C)^…

在C或C++中没有逻辑异或运算符,
!=
怎么样?通过调用最少的C编程知识,您可以在不到10秒内自己编写这样的运算符。
定义异或(A,B)((A)!=0^((B)!=0))
@Lundin:我的问题是在宏中使用逻辑异或运算。我还想通过多个文件使用它。在您的解决方案中,我必须包括包含该宏的头文件,当然,它不是efficient@tranvansang宏由预处理器评估,使其非常有效。但您不必将其作为宏来实现,您只需使用
((a)!=0)^((b)!=0)
代码中的任意位置。它生成的机器代码非常相同。您可以删除变量前面的!A!=B也应执行以下操作job@Aeonos如果<代码> < <代码> >代码> b>代码>是除<代码> BOOL 以外的整数类型,请考虑< <代码> >代码>。考虑<代码> a=1;b=2 < /COD>