-1

今天我在阅读herewritten code on specific lin时了解Linux Cross Platform的头文件

#define _bnd(X, bnd)            (((sizeof (X)) + (bnd)) & (~(bnd)))

我想知道 (~) 符号是做什么的。我在任何地方都没有找到任何关于这个角色的文档。

4

1 回答 1

2

运算符是按位非~运算符。这将使数字中的所有二进制一为零,所有零都将变为一。

您可以将~运算符视为反转二进制数的一种方式。例如,当您使用标志时,~操作员将关闭之前打开的所有标志,反之亦然。

在数学上,~运算符比数字的补码小一。

所以,使用一个具体的例子:

Let a = 1010 (binary)
Then ~a = 0101 (binary)
于 2013-03-16T13:52:23.150 回答