ÀÏÉú³£Ì¸PHPλÔËËãµÄÓÃ;

5年以前  |  阅读数:934 次  |  编程语言:PHP 

ÔÚʵ¼ÊÓ¦ÓÃÖпÉÒÔ×oÓû§È¨ÏÞµÄÓ¦ÓÃ

ÎÒÕaÀi˵µ½µÄȨÏÞ¹ÜÀi°i¨ÊÇÒ»¸oÆÕ±e²ÉÓõĽ¨£¬Ö÷ÒªÊÇʹÓõ½¡±Î»ÔËÐÐu¡±²Ù×÷£¬& λÓeÔËËau¡¢| λ»oÔËÐÐu¡£²ÎÓeÔËËaµÄÈç¹uÊÇ10½øÖÆÊý£¬Ôo»a±»×ª»»ÖÁ2½øÖÆÊý²ÎÓeÔËËa£¬È»ºo¼ÆËa½a¹u»aÔÙת»»Îª10½øÖÆÊýÊa³o¡£

ËuµÄȨÏÞÖµÊÇÕaÑuµÄ

2^0=1£¬ÏaÓ¦2½øÊýΪ¡±0001¡a(ÔÚÕaÀi^ÎÒ±iʾ³É¡±´Î½¡±£¬¼´£º2µÄ0´Î½£¬ÏÂͬ)

2^1=2£¬ÏaÓ¦2½øÊýΪ¡±0010¡a
2^2=4£¬ÏaÓ¦2½øÊýΪ¡±0100¡a
2^3=8£¬ÏaÓ¦2½øÊýΪ¡±1000¡a

ÒªÅжÏÒ»¸oÊýÔÚijÐ(C)Êý¶Î§ÄھͿÉÒÔʹÓà & ÔËËau(ÊýÖµ´ÓÉÏÃaeµÄ±iÖеÃÀ´)

È磺7=4|2|1¡¡(ÄaÒ²¿ÉÒÔ¼oµ¥Ài½a³É7=4+2+1)

Óà & À´²Ù×÷£¬¿ÉÒÔÖªµÀ7&4¡¢7&2¡¢7&1¶¼ÊÇÕaeµÄ£¬¶øÈç¹u7&8ÔoÊǼٵÄ

&¡¢|¡¡²»ÊiϤµÄ¾ÍҪȥ²e²eÊÖ²a£¬¿´¿´ÊÇÔoôÓõÄÁË

ÏÂÃaeÀ´¿´Àý×Ó°É£º


    // ¸³ÓeȨÏÞÖµ-->ɾ³ý£º8¡¢ÉÏ´«£º4¡¢Ð´Èe£º2¡¢Ö»¶Á£º1
    define(¡°mDELETE¡±,8);
    define(¡°mUPLOAD¡±,4);
    define(¡°mWRITE¡±,2);
    define(¡°mREAD¡±,1);
    //vvvvvvvvvvvvvʹÓÃ˵Ã÷vvvvvvvvvvvvv
    //²¿Ãž­ÀiµÄȨÏÞΪ(¼ÙÉeËuÓµÓд˲¿ÃŵÄËuÓÐȨÏÞ)£¬| ÊÇλ»oÔËÐÐ*u£¬²»ÊiϤµÄ¾Í²e²e×ÊÁÏ
    echo mDELETE|mUPLOAD|mWRITE|mREAD ,¡±
    ¡°;// Ïaµ±ÓÚÊÇ°ÑÉÏÃaeµÄȨÏÞÖµ¼ÓÆðÀ´£º8+4+2+1=15
    // ÉeÎÒÖ»ÓÐ upload ºÍ read ȨÏÞ£¬Ôo
    echo mUPLOAD|mREAD ,¡±
    ¡°;//Ïaµ±ÓÚÊÇ°ÑÉÏ´«¡¢Ö»¶ÁµÄȨÏÞÖµ*Ö±ðÏa¼Ó£º4+1=5
    /*
    *¸³ÓeËu¶a¸oȨÏÞ¾Í*Ö±ðÈ¡µÃȨÏÞÖµÏa¼Ó£¬ÓÖ±ÈÈçijλԱ¹¤ÓµÓгýÁËɾ³ýÍaµÄȨÏÞÆaÓa¶¼ÓµÓУ¬ÄÇËuµÄȨÏÞÖµÊǶaÉÙ?
    *Ó¦¸ÃÊÇ£º4+2+1£½7
    *Ã÷°×ÁËÔoô¸³Öµ¸øȨÏÞ°É?
    */
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    //ÅжÏijÈ˵ÄȨÏÞ¿ÉÓã¬ÉeȨÏÞÖµÔÚ$keyÖÐ
    /*
    *ÅжÏȨÏÞÓÃ&λÓe*u£¬
    */
    $key = 13;//13£½8+4+1
    if($key & mDELETE) echo ¡°ÓÐɾ³ýȨÏÞ
    ¡°; //8
    if($key & mUPLOAD) echo ¡°ÓÐÉÏ´«È¨ÏÞ
    ¡°; //4
    $a=$key & mWRITE; echo ¡°ÓÐдȨÏÞ
    ¡°.$a; //ÎÞ´ËȨÏÞ
    if($key & mREAD) echo ¡°ÓжÁȨÏÞ
    ¡°; //1
    ?>

OK£¬È¨ÏÞÖÖµµÄÕaÆaÖÐÒ»¸oËa¨¾ÍÊÇÕaÑuµÄ£¬¿ÉÒÔ˵ÊǼoµ¥¸ßЧ¡£Ò²²»Öª´o¼ÒÃ÷°×ûÓУ¬²»Ã÷°×Ҳû¹Øϵ£¬¼ÇסÀý×Ó¾ÍÐÐÁË¡£Ç°Ìa¾ÍÊÇ×oºÃȨÏÞÖµµÄÖ²¼£¬¼´ÄǸo1¡¢2¡¢4¡¢8¡¢16¡­.(ÕaÀi»¹Óиo˳ÐoÎÊÌa£¬Ô½¸ß¼¶µÄȨÏÞ¾ÍÒªÔ½¸ßµÄȨÏÞÖµ£¬±ÈÈçÉÏÃaeµÄÀý×ÓËuÑÝʾµÄɾ³ýȨÏÞ)¡£ÓÐÁËȨÏÞÖ²¼±i¾Í¿ÉÒÔÈ*¶¨¸øij¸oÈËʲôȨÏÞÁË£¬Äa¼oµ¥µÄÀi½a³ÉÒªÄĸoȨÏ޾ͼÓÉÏÏaÓ¦µÄȨÏÞÖµ°É¡£

Õa¸o½¨ºÜºÃÓõģ¬È±µa¾ÍÊÇÈç¹uȨÏÞÖ²¼µÃϸµÄ»°£¬ÄÇôȨÏÞÖµ»aÔ½À´Ô½´o£¬Äa×Ô¼ºÏeÏe£¬2µÄ¼¸´Î½¡¢Èç¹uËuÓеÄȨÏÞ¶¼ÒªÔoÊÇÈ«²¿Ïa¼Ó¡£²»¹ý¶ÔÓÚÒ»°aµÄȨÏÞÀ´ËµÕa¸oÒѾ­×a¹»ÁË¡£

ÏÂÃaeÊÇÐ(C)¼oµ¥Ó¦ÓþÙÀý

(1) ÅжÏintÐͱaÁ¿aÊÇÆaeÊý»¹ÊÇżÊý

a&1 = 0 żÊý

a&1 = 1 ÆaeÊý

(2) È¡intÐͱaÁ¿aµÄµÚkλ (k=0,1,2¡­¡­sizeof(int))£¬¼´a>>k&1

(3) ½«intÐͱaÁ¿aµÄµÚkλÇa0£¬¼´a=a&~(1<

<>

(4) ½«intÐͱaÁ¿aµÄµÚkλÖÃ1£¬ ¼´a=a|(1<

<>

*(5) intÐͱaÁ¿Ñ­»×oÒÆk´Î£¬¼´a=a<>16-k (Éesizeof(int)=16)**

*(6) intÐͱaÁ¿aÑ­»ÓÒÒÆk´Î£¬¼´a=a>>k|a<<16-k (Éesizeof(int)=16)**

(7)ÕuÊýµÄƽ¾uÖµ

¶ÔÓÚÁ½¸oÕuÊýx,y£¬Èç¹uÓà (x+y)/2 Çoƽ¾uÖµ£¬»a²uÉuÒç³o£¬ÒoΪ x+y ¿ÉÄÜ»a´oÓÚINT_MAX£¬µ«ÊÇÎÒÃÇÖªµÀËuÃǵÄƽ¾uÖµÊǿ϶¨²»»aÒç³oµÄ£¬ÎÒÃÇÓÃÈçÏÂËa*¨£º


    int average(int x, int y) //*µ»ØX,Y µÄƽ¾uÖµ

    { 

    return (x&y;)+((x^y)>>1);

    }

(8)ÅжÏÒ»¸oÕuÊýÊDz»ÊÇ2µÄÃÝ,¶ÔÓÚÒ»¸oÊý x >= 0£¬ÅжÏËuÊDz»ÊÇ2µÄÃÝ


    boolean power2(int x)

    {

    return ((x&(x-1))==0)&&(x!=0)£»

    }

(9)²»ÓÃtemp½»»»Á½¸oÕuÊý


    void swap(int x , int y)

    {

    x ^= y;

    y ^= x;

    x ^= y;

    }

(10)¼ÆËa¾ø¶ÔÖµ


    int abs( int x )

    {

    int y ;

    y = x >> 31 ;

    return (x^y)-y ; //or: (x+y)^y

    }

(11)È¡Ä£ÔËËaת»¯³ÉλÔËËa (ÔÚ²»²uÉuÒç³oµÄÇe¿oÏÂ)

a % (2^n) µÈ¼ÛÓÚ a & (2^n ¨C 1)

*(12)³Ë¨ÔËËaת»¯³ÉλÔËËa (ÔÚ²»²uÉuÒç³oµÄÇe¿oÏÂ)**

a * (2^n) µÈ¼ÛÓÚ a<< n

*(13)³ý¨ÔËËaת»¯³ÉλÔËËa (ÔÚ²»²uÉuÒç³oµÄÇe¿oÏÂ)**

a / (2^n) µÈ¼ÛÓÚ a>> n

Àý: 12/8 == 12>>3

(14) a % 2 µÈ¼ÛÓÚ a & 1

(15) if (x == a) x= b;

¡¡¡¡ else x= a;

¡¡¡¡ µÈ¼ÛÓÚ x= a ^ b ^ x;

*(16) x µÄ Ïa´Êý ±iʾΪ (~x+1)**

ÔÚ32λϵͳÉϲ»ÒªÓÒÒƳ¬¹ý32λ,²»ÒªÔÚ½a¹u¿ÉÄܳ¬¹ý 32 λµÄÇe¿oÏÂ×oÒÆ

ÒÔÉÏÕaƪÀÏÉu³£Ì¸PHPλÔËËaµÄÓÃ;¾ÍÊÇС±a*ÖÏi¸ø´o¼ÒµÄÈ«²¿ÄÚÈÝÁË£¬Ï£ÍuÄܸø´o¼ÒÒ»¸o²Î¿¼£¬Ò²Ï£Íu´o¼Ò¶a¶aÖ§³Ö½Å±¾Ö®¼Ò¡£

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例