php 5.4下 1 << -2 的结果怎么是 4611686018427387904? 我在本地测试(php版本是5.3),得到得结果是:1073741824,这是正确结果。代码如下:<?$temp = 1;$right = ($temp << -2);echo $right;?>大家知道是咋回事么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 << -2其实向右移动了两位1111111111111111(16)11111111111111111111111111111111(32)注意有无符号 有符号别算======怎么说?1 << -2其实向右移动了两位1111111111111111(16)11111111111111111111111111111111(32)注意有无符号==========php新手,能提供更多信息么? 说下我应用得场景吧。我是从网上找到一个des算法,其中有如下代码: $right ^= ($temp << -16);发现左移正数没问题,左移负数有问题,按照 kyzy_yy_pm 和 freeman 的建议,能否把代码替换下? 1 << 2 <=>向左移2位,右边补0,100 即4;1<< -2 <=> 1>>2 右移2位 在最高位前补0,由(111111111111111)1变成001111111111111记得以前老师是这么教的 如何做到在网页中显示IP的物理地址 关于xml与PHP从数据库读取东西的问题 诚聘网站PHP工程师 待遇从优! zend studio for eclipse能不能边编辑代码,边查看生成的页面? 急!求一个JS+PHP的音乐连播代码?希望好心人提供 求这样的社区 晚辈不才~ 菜鸟一个~ 请教大虾~ 怎样用dreamweaver mx 修改php网页中的实时广告图片及链接? 不使用mysql_num_rows得到rows的数量该怎么做 用php gzip压缩js 出现问题 关于在linux环境下执行PHP相关命令的问题 php AES加密 openssl解密失败,帮忙看下代码哪里有问题
其实向右移动了两位
1111111111111111(16)
11111111111111111111111111111111(32)
注意有无符号
======
怎么说?
1 << -2
其实向右移动了两位
1111111111111111(16)
11111111111111111111111111111111(32)
注意有无符号
==========
php新手,能提供更多信息么?
我是从网上找到一个des算法,其中有如下代码: $right ^= ($temp << -16);
发现左移正数没问题,左移负数有问题,按照 kyzy_yy_pm 和 freeman 的建议,能否把代码替换下?
1<< -2 <=> 1>>2 右移2位 在最高位前补0,由(111111111111111)1变成001111111111111
记得以前老师是这么教的