我被要求在不使用!x
的情况下计算!
。
示例:
bang(3)= 0
bang(0)= 1
合法操作:~
,$
,|
,^
,+
,<<
,>>
我不明白砰的一声是什么?我认为这是一个因素。
答案 0 :(得分:1)
如果在C中,你的“!”是其参数的布尔反转。所以,!0得到1和1(其他任何东西)得到0.“〜”是它的按位版本,基本上翻转(跟随)数字中的每一位 - 如果你将自己约束为无符号数,则更容易理解。 / p>
!x可以用(x?1:0)之类的东西模拟 - 这不在你的列表中 - 和&amp;&amp;和||运营商 - 也不在您的列表中。 “$”不是C中的运算符,所以我对那个有点疑惑 - 你在用什么语言?使用|可能会有运气并循环遍历所有位以确定是否设置了任何,在该点之后使用仅产生1位的位运算符使得模拟“!”非常容易。
我可以说出来,但如果你正在上课,那么斗争就是这个特定问题的大部分收获。
答案 1 :(得分:0)
!
是逻辑否定运算符。您最喜欢的搜索引擎会告诉您更多信息。