1)当已经为按位加法和按位减法定义了逻辑时,为什么没有任何编程语言(据我所知)为这些操作提供支持。 2)为什么它们只为按位AND,OR,Ex或等操作提供支持。
答案 0 :(得分:1)
逐位加法,即将每个位与另一个操作数的相应位相加而在位之间没有进位(或者,模2 ^ 1),只是xor
,在大多数语言中都可用。
按位减法没什么意义。我从未听说过它,也找不到任何有意义的定义。您首先必须选择如何表示负数,但是:
~0 + 1 = 0
和~1 + 1 = 1
中,0
和1
都是0,因为它们是自己的逆。还有其他奇怪之处。0 # 0 = 0, 0 # 1 = 1, 1 # 0, 1 # 1 = 0
......再次,......所以唯一有意义的定义相当于按位加法。此外,Bitwise不是按位和/或是一个完整的布尔运算符系统,所以无论你想象“按位减法”的按位运算,你都可以轻松地实现它。