【发布时间】:2018-10-22 20:05:27
【问题描述】:
我正在寻找一种将整数值(8 位)用作布尔值(0 -> False,1 -> True)来翻转整数值的方法。
在许多语言中,您可以通过val = !val 更改值。我唯一做的就是val = (val == 1) ? 0 : 1。我不知道在 C 中是否可以使用咬合值。
这是一个8位处理器的老硬件,所以使用boolean的想法是不可能的,我无法安装外部库。
【问题讨论】:
-
你的问题不清楚。 “翻转”是什么意思?也许否定? C 已经将整数视为书籍和。事实上,C 中没有特殊的布尔类型。零被解释为假,任何其他值 - 都被解释为真。
-
无论如何你都可以做到
val = !val.... -
在 C 中,零是假的,其他一切都是真的。看起来你想要一个真实的,而其他的一切都是虚假的。在这种情况下,您可以简化为
val = val != 1;。否则,val = !val工作正常。
标签: c