php位运算 与 或 异或 取反
<?php /** php中有4个位运算,分别是&与 |或 ^异或 ~取反 & 两位全为1,结果为1 | 有一位为1,结果为1 ^ 一个为0,一个为1,结果为1 ~ 取反0->1,1->0 1.二进制的最高位是符号位,0表示正数,1表示负数。 2.正数的原码,反码,补码都一样。 3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)。 4.负数的补码=它的反码+1。 5.0的反码,补码都是0. 6.php没有无符号数,换言之,php中的数都是有符号的。 7.在计算机运算的时候,都是以补码的方式来运算的。 **/ //异或 echo 13&7; echo "<br/>"; echo 5|4 ; echo "<br/>"; echo -3^3; //推理过程: /** 13&7 13的补码 00000000 00000000 00000000 00001101 7的补码 00000000 00000000 00000000 00000111 13&7 00000000 00000000 00000000 00000101 = 5 5|4 5的补码 00000000 00000000 00000000 00000101 4的补码 00000000 00000000 00000000 00000100 5|4 00000000 00000000 00000000 000000101 =5 -3^3 -3的补码 -3的原码 10000000 00000000 00000000 00000011 -3的反码 11111111 11111111 11111111 11111100 -3的补码 11111111 11111111 11111111 11111101
php位运算 与 或 异或 取反 复制代码 <?php /** php中有4个位运算,分别是&与 |或 ^异或 ~取反 & 两位全为1,结果为1 | 有一位为1,结果为1 ^ 一个为0,一个为1,结果为1 ~ 取反0->1,1->0 1.二进制的最高位是符号位,0表示正数,1表示负数。 2.正数的原码,反码,补码都一样。 3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)。 4.负数的补码=它的反码+1。 5.0的反码,补码都是0. 6.php没有无符号数,换言之,php中的数都是有符号的。 7.在计算机运算的时候,都是以补码的方式来运算的。 **/ //异或 echo 13&7; echo "<br/>"; echo 5|4 ; echo "<br/>"; echo -3^3; //推理过程: /** 13&7 13的补码 00000000 00000000 00000000 00001101 7的补码 00000000 00000000 00000000 00000111 13&7 00000000 00000000 00000000 00000101 = 5 5|4 5的补码 00000000 00000000 00000000 00000101 4的补码 00000000 00000000 00000000 00000100 5|4 00000000 00000000 00000000 000000101 =5 -3^3 -3的补码 -3的原码 10000000 00000000 00000000 00000011 -3的反码 11111111 11111111 11111111 11111100 -3的补码 11111111 11111111 11111111 11111101 3的补码 00000000 00000000 00000000 00000011 -3^3 11111111 11111111 11111111 11111110 《补码》 推反码《对补码-1》 11111111 11111111 11111111 11111101 《反码》 推原码《符号位不变 其他取反》 10000000 00000000 00000000 00000010 《原码》 =-2 注意:因为二进制没有进位和退位,可以看做是10-1,那就等于1了 **/ ?>
3的补码 00000000 00000000 00000000 00000011 -3^3 11111111 11111111 11111111 11111110 《补码》 推反码《对补码-1》 11111111 11111111 11111111 11111101 《反码》 推原码《符号位不变 其他取反》 10000000 00000000 00000000 00000010 《原码》 =-2 注意:因为二进制没有进位和退位,可以看做是10-1,那就等于1了 **/ ?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决