我在本地测试(php版本是5.3),得到得结果是:1073741824,这是正确结果。代码如下:
<?
$temp = 1;
$right = ($temp << -2);
echo $right;
?>大家知道是咋回事么?
<?
$temp = 1;
$right = ($temp << -2);
echo $right;
?>大家知道是咋回事么?
解决方案 »
- server 2008 r2系统的服务器上面 fsockopen函数不正常
- 向nginx发起两次请求,第二次无效,请求高人帮助
- 谁有JS的日历控件要utf-8编码格式的
- 使用php下载文件时出现大小为零,汗死
- 【PHP】【疑问】删除一条数据后,页面无变化。请达人指点
- php有timer功能吗??很奇怪?
- 没有 licence 用 zendenc.exe 编译的文件是不是有使用期限亚?
- 有没有程序可以让不支持global_register=off的程序支持off呢??
- 请问如何在网页内加入播放器控件!!!
- 麻烦大神帮忙解决"未交房租统计的问题", 不胜感激~~
- 关于在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
记得以前老师是这么教的