此&(&)符号按位运算符如何工作?
$bcast = ip2long("192.168.178.255");
$smask = ip2long("255.255.255.0");
$nmask = $bcast & $smask;
echo long2ip($nmask); // Will give 192.168.178.0
它会比较每几位吗?我了解此代码段中的大多数魔术都是由完成的long2ip()
,但是如何$nmask
赋予正确的价值?
编辑:澄清..
$bcast
返回'3232281343'
$smask
返回'3232281088'
1)&运算符会自动将其转换为二进制数吗?
2)根据我对AbraCadaver的评论;您想使用按位运算符的一些用例是什么?
它比较long二进制文件的每个位以及两个位1
的结果分别为1
,否则结果为0
。因此,例如:
第一个八位位组:
192 = 11000000
255 = 11111111
result = 11000000 = 192
最后一个八位位组:
255 = 11111111
0 = 00000000
result = 00000000 = 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句