<?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