http://m.gharee.com/wiki/index.php?action=history&feed=atom&title=%E4%BD%8D%E9%9D%9E
123,123,123
2025-07-04T04:21:45Z
本wiki的該頁(yè)面的版本歷史
MediaWiki 1.21.2
http://m.gharee.com/wiki/index.php?title=%E4%BD%8D%E9%9D%9E&diff=51&oldid=prev
Admin:以“按位取反(~)<br> 在C++中按位取反運(yùn)算符為波浪符“~”。不像“&”和“|”,按位取反運(yùn)算符應(yīng)用于其右側(cè)的單個(gè)操作數(shù)。...”為內(nèi)容創(chuàng)建頁(yè)面
2014-09-12T05:34:42Z
<p>以“按位取反(~)<br> 在C++中按位取反運(yùn)算符為波浪符“~”。不像“&”和“|”,按位取反運(yùn)算符應(yīng)用于其右側(cè)的單個(gè)操作數(shù)。...”為內(nèi)容創(chuàng)建頁(yè)面</p>
<p><b>新頁(yè)面</b></p><div>按位取反(~)<br><br />
<br />
在C++中按位取反運(yùn)算符為波浪符“~”。不像“&”和“|”,按位取反運(yùn)算符應(yīng)用于其右側(cè)的單個(gè)操作數(shù)。按位取反操作會(huì)翻轉(zhuǎn)其每一位。0變?yōu)?,1變?yōu)?。例如:<br><br />
<pre style="color:red"><br />
0 1 operand1<br />
<br />
----------<br />
1 0 ~ operand1<br />
</pre><br />
<pre style="color:green"><br />
int a = 103; // binary: 0000000001100111<br />
int b = ~a; // binary: 1111111110011000 = -104<br />
<br />
</pre><br />
<br />
看到此操作的結(jié)果為一個(gè)負(fù)數(shù):-104,你可能會(huì)感到驚訝,這是因?yàn)橐粋€(gè)整型變量的最高位是所謂的符號(hào)位。如果最高位為1,該整數(shù)被解釋為負(fù)數(shù)。這里正數(shù)和負(fù)數(shù)的編碼被稱為二進(jìn)制補(bǔ)碼。欲了解更多信息,請(qǐng)參閱維基百科條目:補(bǔ)碼。<br><br />
<br />
<br />
順便說(shuō)一句,值得注意的是,對(duì)于任何整數(shù)x, ~x 與 -x-1 相等。<br><br />
<br />
<br />
有時(shí)候,符號(hào)位在有符號(hào)整數(shù)表達(dá)式中能引起一些不期的意外。<br></div>
Admin