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中位运算符的作用
位运算符平常较少用到.
但运算符不能以作用大小来衡量.
当你要用到的时候,你发现没有,你就会发现作用真的很大.
=========
你要是暂时不理解,可以先跳过.