php位與運算
A. 在php中【邏輯運算符】和【位運算符】有什麼本質的區別
這個很難細說,不過和c語言中的邏輯運算符和位運算符是一樣區別的
下面給個參考(摘至某人博客):
一、邏輯運算符:
包括:1。&&邏輯與 2。||邏輯或 3。!邏輯非
邏輯運算符用於對包含關系運算符的表達式進行合並或取非
對於使用邏輯運算符的表達式,返回0表示「假」,返回1表示「真」。關於邏輯運算符的解釋
請注意:任何使用兩個字元做符號的運算符,兩字元之間不應有空格,即將==寫成= =是錯誤的。
假設一個程序在同時滿足條件a<10和b==7時,必須執行某些操作。應使用關系運算符和邏輯運算符「與」來寫這個
條件的代碼。用&&表示「與」運算符,該條件代碼如下:
(a<10) && (b==7);
類似地,「或」是用於檢查兩個條件中是否有一個為真的運算符。它由兩個連續的管道符號(||)表示。如果上例
改為:如果任一語句為真,則程序需執行某些操作,則條件代碼如下:
(a<10) || (b==7);
第三個邏輯運算符「非」用一個感嘆號(!)表示。這個運算符對表達式的真值取反。例如,如果變數s小於10,程序
程序需執行某些操作,則條件代碼如下:
(s<10)
或
(!(s>=10)) //s不大於等於10
關系運算符和邏輯運算符的優先順序一般都低於算術運算符。例如,5>4+3的計算與5>(4+3)運算符是一樣的,即
先計算4+3,再執行關系運算。此表達示的結果為「假」,即,將返回0。
下面的語句
printf("%d",5>4+3);
將輸出 0
可以總結為:&&的結果是真真為真。||的結果是假假為假。
二、位運算符:
包括:1。&位與符 2。|位或符 3。^位異或符 4。~位取反符
以操作數12為例。位運算符將數字12視為1100。位運算符將操作數視為位而不是數值。數值
可以是任意進制的:十進制、八進制或十六進制。位運算符則將操作數轉化為二進制,並相應地返回1或0。
位運算符將數字視為二進制值,並按位進行相應運算,運算完成後再重新轉換為數字。例如:
表達式10&15表示(1010 & 1111),它將返回表示1010的值10。因為真真得真,或者是11得1,同位全是1結果也是1
表達式10|15表示(1010 | 1111),它將返回表示1111的值15。假假得假。全零得零。
表達式10^15表示(1010 ^ 1111), 它將返回表示0101的值5。此時是同性相斥,相同的就為假。
表達式~10表示(~1010),它將返回表示0101的值 -11。此號好理解,按位取反
B. PHP位運算符理解
左移1位=>*2
右移1位=>/2
C. PHP位運算問題.
還是沒看懂你的意思,能不能把最後要達到的效果弄張表來看看
這樣呢
<?php
echo '<pre>';
$f = 1;
$row = 50;
$col = 50;
for ($i = 0; $i < $row; $i++) {
for ($j = 0; $j < $col; $j++) {
$d1 = $i & 1; // $i 二進製表示的最低位
$d2 = ($i & 2) >> 1; // $i 二進製表示的倒數第二位, 這里要移位
if($f%2==0){
if (($j+1) % 2 == 0) {
$b = ($j+1)/ 2 % 2 == 0 ? 1 : 0;
$s[$i][$j] = 1 + ($d1 != $d2) + $b;
} else {
$s[$i][$j] = 0;
}
}else{
if (($j+1) % 2 == 0) {
$b = ($j+1)/ 2 % 2 == 0 ? 0 : 1;
$s[$i][$j] = 1 + ($d1 != $d2) + $b;
} else {
$s[$i][$j] = 0;
}
}
}
}
print_r($s);
?>
D. php中 : ~ 位非運算 是什麼意思 如何使用 謝謝大家 !!!
位運算都要求會二進制轉換。
比如 $a=3; $b=~$a; echo $b; 輸出結果是-4
求解:3的二進制0011,位非就是每一位取反就是1100,第一位是符號位,0正1負,所以1100就是-100,換成10禁制就是-4了
E. PHP 位運算符
$h=16,$c=4,表達式16<<4的值為256,因為16(即二進制的00010000)向左移四位等於256(即二進制的100000000)
F. php中兩個整型數組能不能進行按位或運算(就像c語言和matlab的&運算符一樣)舉個例子吧,這
給你一個與運算的,或運算的直接改一下&=>||
functiona($ar,$br){
foreach($aras$key=>$value){
$cr[]=$value&$br[$key];
}
return$cr;
}
$ar=array(0,0,1,1);
$br=array(1,0,1,0);
print_r(a($ar,$br));
G. Php中什麼是位運算
就是通過位運算符操作數字的特定位
H. php位運算的問題
並不是4位二進制數取反
取反操作,兩個值之和為-1
作為有符號整數,8至少要用8個二進制位表示
00001000,按位取反結果11110111,這個數是有符號整數,則為一個負數的補碼,即-9
當你不知道怎麼算的時候,就記住一個數與它按位取反結果之和為-1就行了
I. PHP運算符的位運算符
位運算符允許對整型數中指定的位進行置位。如果左右參數都是字元串,則位運算符將操作字元的 ASCII 值。
J. PHP中位運算符的作用
位運算符平常較少用到.
但運算符不能以作用大小來衡量.
當你要用到的時候,你發現沒有,你就會發現作用真的很大.
=========
你要是暫時不理解,可以先跳過.