php中 : ~ 位非运算 是什么意思 ? 如何使用 ? 谢谢大家 !!!

~这个是位非运算符,请问大家什么叫做位非?如何使用这个运算符号?谢谢谢谢!!!!!!!!!!谢谢大家!!!!!!!!!!!!!!!谢谢谢谢谢谢谢谢!!!!!!!!... ~ 这个是 位非运算符 , 请问 大家什么叫做 位非 ? 如何 使用这个 运算符号?

谢谢谢谢!!!!!!!!!!谢谢大家 !!!!!!!!!!!!!!!谢谢谢谢谢谢谢谢!!!!!!!!
展开
 我来答
yu641150278
推荐于2017-11-25 · TA获得超过1069个赞
知道小有建树答主
回答量:637
采纳率:100%
帮助的人:298万
展开全部
位运算都要求会二进制转换。
比如 $a=3; $b=~$a; echo $b; 输出结果是-4
求解:3的二进制0011,位非就是每一位取反就是1100,第一位是符号位,0正1负,所以1100就是-100,换成10禁制就是-4了
更多追问追答
追问
$t1=192;
$t2=~$t1;
echo $t2;

为什么 我这样 写的话 得出来 的结果 是 -193 而不是 -31 呢? 按您所说的应该是-31的呀 !
谢谢谢谢谢谢谢谢了!!!!!!!!!1
追答
说错了,
比如 $a=3; $b=~$a; echo $b; 输出结果是-4
求解:3的二进制0000 0000 0000 0000 0000 0000 000 0011
取反1111 1111 1111 1111 1111 1111 1111 1100
第一位符号位,1是负数,说明这是一个负数,负数是补码表示,给他还原
-1: 111 1111 1111 1111 1111 1111 1111 1001
取反:000 0000 0000 0000 0000 0000 0000 0110
最后就是1000 0000 0000 0000 0000 0000 0000 0110 = -4

发现个有趣的事情,~a=-(a+1)
iehx
2013-01-02 · TA获得超过278个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:447万
展开全部
就是把这个值转换成二进制数,然后每一位都取反
结果和变量的类型(字节、子、双字。。。)有关,也就是说和长度有关
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式