echo >2.php,php取反运算值 {echo ~2;}你知道结果是什么吗?

博客详细解释了计算机中正负数的原码、反码、补码表示,并通过实例展示了位操作符`~`如何用于计算负数的补码,从而得出`echo~2`的结果为-3。此外,还探讨了`echo~4`的运算过程,帮助理解二进制补码在计算中的应用。
摘要由CSDN通过智能技术生成

echo ~2;

请问结果值是多少呢?

答案是 -3

为什么?

首先计算机用补码来存储的,正数的原码、反码、补码都是一样的,

例如:

3的原码、反码、补码都是

00000000 00000000 00000000 00000011

-3的原码10000000 00000000 00000000 00000011  (第一个是符号位,1表示负数)

-3的反码11111111  111111111  11111111  11111100  (符号位第一个不变,其他位置取反)

-3的补码   11111111  111111111  11111111  11111101

再来看看之前的问题:

// 2的补码 00000000 000000000 00000000 00000010

// ~运算后 11111111 111111111 11111111 11111101 (其实就-3的补码)

echo ~2; // 输出 -3

// 4的补码 00000000 000000000 00000000 00000100

// ~运算后 11111111 111111111 11111111 11111011 (其实就-5的补码)

// 11111111 111111111 11111111 1111010 (反码)

// 10000000 00000000 00000000 0000101 (原码)

echo ~4;//输出 -5

原文:http://www.cnblogs.com/trNote/p/7498159.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值