按位运算符如何工作?

格本·雅各布斯

此&(&)符号按位运算符如何工作?

$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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章