聊到二进制以及位运算就不得不说说,原码,反码,补码了,网上对于原码反码补码的解释过于复杂,我这里把教程里的一些总结搬出来让大家参考一下:对于有符号的而言;
1.二进制最高位是符号位,0表示正数,1表示负数;
2.正数的原码反码补码都一样;
3.负数的反码等于它的原码符号位不变,其他位取反,1变0,0变1;
4.负数的补码等于它的反码+1;
5.0的反码补码都是0;
6.PHP没有无符号数;
7.在计算机运算时,都是以补码的方式来运算的;
所以当你进行位运算时,应把变量的补码求出后进行运算之后,再转成原码得出答案;
这个就是位运算的一些符号,当遇到位运算时,只需要求出数的补码根据所提供的符号进行运算得出结果;
注意:在PHP里面没有算数左移和算数右移;