PHP中關於位運算符 與 或 異或 取反


<?php
/**
 * author:LMS
 * createTime:2015/07/22
 * desctiption:位運算[ & | ^ ~ ]
 * 與&:如果a、b兩個值不相同,則與結果為0。如果a、b兩個值相同,與結果為1
 * 或|:與邏輯中的或一致【只有兩個值都為假時才為假,其余都為真】
 * 異或【xor】如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0
 * 取反【~】:對每一位取反
 * 【注意!非 ==>是邏輯運算符,返回是個布爾值
 */

/**   十進制      二進制[取負數【補碼知識】  正數-256 ] 255== 1111 1111
 *      5           0000 0101
 *      12          0000 1100
 *(與-and)&     ----------------
 *                  0000 0100 ===》4
 * 
*(或 - or)| ------------------ * 0000 1101 ===》13 *
*(非-not)! ===》返回一個布爾值 * * (取反)~5[250] ------------------- * [負數補碼]0 1111 1010==>x+256=250==>x=-6【取反這里只是我猜測理解的,若有錯,請指正!】 *
* (異或-xor)^ ------------------- * 0000 1001 ===>9
*/ echo 5 & 12;//輸出4 echo '<hr>';echo 5 | 12;//輸出13 echo '<hr>';//echo !5 ;//返回真,但是不答應,echo是用於打印字符串的,print_r用於打印數組比較方便,var_dump()打印所有類型變量 echo '<hr>'; //echo !0;//!false var_dump(!1);得到是個布爾值,都將輸出1==>!true echo ~5; //輸出-6 echo '<hr>'; echo 5^12;//輸出9

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM