2013-03-16 227 views
-1

今天,我理解Linux的跨平臺的頭文件,而在here written code on specific linÇ - 這是什麼意思〜

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

讀書,我想知道什麼呢(〜)符號做。我還沒有發現任何關於這個角色的文檔。

+2

這不是一個按位。 – 2013-03-16 13:51:28

+0

http://www.google.com/search?q=C+tilde – 2013-03-16 13:57:35

回答

2

~運算符是按位不運算符。 這將使數字中的所有二進制數爲零,所有的零將成爲數字。

您可以將~運算符視爲反轉二進制數的一種方法。例如,當您使用標誌時,~運算符將關閉之前打開的所有標誌,反之亦然。

在數學上,~算子比一個數的二進制補碼少一個。

所以,用一個具體的例子:

Let a = 1010 (binary) 
Then ~a = 0101 (binary)