小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

PHP的位運(yùn)算

 Ralf_Jones 2005-12-29
位運(yùn)算??? (http://club./showthread.php?t=5386)
zww23 2004年06月19日 10:32 AM

位運(yùn)算???
 
<?php
echo "位運(yùn)算符的例子!<br>\n";
$a=5; //用二進(jìn)制表示a=101;
$b=2; //用二進(jìn)制表示b=010;
$c=$a&$b; //與運(yùn)算
echo "a & b = ".$c." (101 & 010)<br>\n";
$c=$a|$b; //或運(yùn)算
echo "a | b = ".$c." (101 | 010)<br>\n";
$c=~$a; //非運(yùn)算〖〗
echo "~a = ".$c." (~101)<br>\n";
$c=$a^$b; //異或運(yùn)算
echo "a ^ b = ".$c." (101 ^ 010)<br>\n";
$c=$a<<$b; //向左移位運(yùn)算
echo "a << b = ".$c." (101 << 010)<br>\n";
$c=$a>>$b; //向右移位運(yùn)算
echo "a >> b = ".$c." (101 >> 010)";
php?>


運(yùn)算結(jié)果是

位運(yùn)算符的例子!
a & b = 0 (101 & 010)
a | b = 7 (101 | 010)
~a = -6 (~101)
a ^ b = 7 (101 ^ 010)
a << b = 20 (101 << 010)
a >> b = 1 (101 >> 010)

我想知道~a = -6 (~101) ,a << b = 20 (101 << 010)和a >> b = 1 (101 >> 010)的運(yùn)算結(jié)果是怎樣得出來(lái)的?

Cplus 2004年06月19日 07:41 PM

~0=-1;~1=-2......~5=-6 就這樣記下吧

101<<010 表示把101右移010(2)位,于是就成了10100=20

101>>010 表示把101左移010(2)位,于是就成了1=1。

Sorehead 2004年06月20日 05:12 PM

  做位運(yùn)算不能只孤立的將要運(yùn)算的數(shù)字的位數(shù)加以考慮,而必須從PHP是如何保存整型的,從PHP保存整型的字長(zhǎng)整體來(lái)考慮。舉例:像上面的a和b之間的運(yùn)算,就不能只拿前三位來(lái)計(jì)算,雖然他們用三位就可以表示了。
  PHP 不支持無(wú)符號(hào)整數(shù),其整型數(shù)的字長(zhǎng)和平臺(tái)有關(guān),一般是采用32 位來(lái)表示。注意這里提供的信息:
  采用32位表示,即表示即使是存儲(chǔ)0,也是采用32位,其二進(jìn)制形式是:
  0000 0000 0000 0000 0000 0000 0000 0001
  不支持無(wú)符號(hào),即表示這32位的最高位為符號(hào)位,0表示整數(shù),1表示負(fù)數(shù)。
  
  因此,做a & b的運(yùn)算是如下:
  0000 0000 0000 0000 0000 0000 0000 0101
  &
  0000 0000 0000 0000 0000 0000 0000 0010
  結(jié)果:
  0000 0000 0000 0000 0000 0000 0000 0000
  至于~a運(yùn)算如下:
  0000 0000 0000 0000 0000 0000 0000 0101
  結(jié)果:
  1111 1111 1111 1111 1111 1111 1111 1010
  由于最高位為1,所以表示這是一個(gè)負(fù)數(shù)。負(fù)數(shù)的采用的編碼方式和正數(shù)是不一樣的,一般都采用補(bǔ)碼的方式來(lái)存儲(chǔ)負(fù)數(shù),補(bǔ)碼的計(jì)算方式就是反碼加一。至于反碼,就是全部位取反。
  因此,1111 1111 1111 1111 1111 1111 1111 1010的反碼就是:
  0000 0000 0000 0000 0000 0000 0000 0101
  做加一操作,得到:
  0000 0000 0000 0000 0000 0000 0000 0110
  最終結(jié)果就是-6。

zww23 2004年06月21日 02:29 PM

感謝您們的詳細(xì)解答,我已經(jīng)明白了,謝謝?。。。?!


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多