c - 执行逻辑不!仅使用位运算

标签 c bitwise-operators bit logical-operators

<分区>

Possible Duplicate:
Check if a number is non zero using bitwise operators in C.

大家好,

我正在做一个项目,我需要一些功能方面的帮助。我们需要编写一个函数来执行逻辑非,!,仅使用以下位运算符:

~ & ^ | + << >>

我什至不知道从哪里开始。

最佳答案

如果您可以假设 true = 1false = 0,那么这可能会成功:

bool
not(bool x) {
    bool not_x = x ^ true;
    return not_x;
}

关于c - 执行逻辑不!仅使用位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4039965/

相关文章:

c - 按位 '&' 运算符

c - 字符串中的二进制位模式转换为 C 中的十六进制数

go - 这个位移位在这个例子中是如何工作的?

c - "binary"在设备驱动中是什么意思?

从类型 int 分配给类型 char[2] 时出现“不兼容类型”的编译错误

c - 传递给 C 中的 puts 函数的参数

仅使用按位转换 long 和 int

java - 处理按位或失败

mysql - BIT 是否填充超过 1 个字节的未使用空间?

c - 从文件读取7M数据失败