~這是按位取反的符號(hào),它用于輸出的值和進(jìn)行計(jì)算的值不一樣。
1.如果是用于二進(jìn)制符號(hào)的運(yùn)算(&,|等),比如5這個(gè)數(shù)字,二進(jìn)制表示為00000101,按位取反為11111010,如果要將它做這樣的運(yùn)算:~5&3,那么就直接用11111010與00000011進(jìn)行計(jì)算,答案為2。
2.其他情況,比如要輸出,5按位取反后為11111010是一個(gè)反碼,符號(hào)位為1所以原碼為負(fù)數(shù),要按其原碼進(jìn)行輸出,原碼的絕對(duì)值取反加1為反碼,所以我們將反碼減1取反就為原碼的絕對(duì)值也就是00000110為6,所以~5 = -6.