邏輯或“||”與按位或“|”的區分
阿新 • • 發佈:2019-01-25
ProcessHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ | PROCESS_VM_WRITE,FALSE,ProcessID);
if (ProcessHandle == NULL)
{
return FALSE;
}
開啟程序控制代碼,這裡注意其中的許可權中間必須使用‘|’而不是‘||’,因為是要得到這三個許可權,而不是讓它們做運算!
I是運算或,輸出運算結果; ||是邏輯或,輸出true或者false:
int i = 1,j=2; int k = i | j; BOOL b = i||j;
結果,k的結果是3,b的結果是1也就是true.
2.
&&和||是短路運算子,&和|是非短路運算子;
&&和||運算子第一個表示式不成立的話,後面的表示式不運算,直接返回。而&和|對所有表示式都得判斷.
3.
&和|還有一個作用:對數值進行操作,以這種方式使用時,它們處理的是變數中儲存的一系列位,而不是變數值,因此他們稱為按位運算子。
//按照2的補位系統,(-x)定義為(~x+1)