执行逻辑“不”!仅使用按位运算
可能的重复:
使用以下命令检查数字是否非零C 中的按位运算符。
大家好,
我正在做一个项目,我需要一些关于函数的帮助。我们需要编写一个函数来执行逻辑非,!,仅使用以下按位运算符:
~ & ^ | + << >>
我什至不知道从哪里开始。
Possible Duplicate:
Check if a number is non zero using bitwise operators in C.
Hello everyone,
I am working on a project and I need a little help with a function. We need to write a function that performs the logical not, !, using only the following bitwise operators:
~ & ^ | + << >>
I'm not even sure where to begin.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您可以假设
true = 1
和false = 0
,那么这可能会起作用:If you can assume that
true = 1
andfalse = 0
, then this might do the trick:如果值不为零,逻辑非返回 0,否则返回 1。假设 32 位 int:
Logical not returns 0, if value is not zero, 1 otherwise. Assuming 32-bit int:
我认为首先你需要澄清这个问题。听起来您想要一个函数,如果单词中的任何位为“1”,则返回 0;如果所有位都为零,则返回 0 以外的值。假设有一个 32 位单词“a”,你可以这样做:
I think to start you want you'll want to clarify the question. It sounds like you're wanting at a function that will return 0 if any of the bits in a word are "1", and something other than 0 if all the bits are zero. Assuming a 32bit word "a" you could do something like: