社区
基础编程
帖子详情
php 5.4下 1 << -2 的结果怎么是 4611686018427387904?
Almzg_0
2011-03-22 03:38:01
我在本地测试(php版本是5.3),得到得结果是:1073741824,这是正确结果。
代码如下:
<?
$temp = 1;
$right = ($temp << -2);
echo $right;
?>
大家知道是咋回事么?
...全文
1299
11
打赏
收藏
php 5.4下 1 << -2 的结果怎么是 4611686018427387904?
我在本地测试(php版本是5.3),得到得结果是:1073741824,这是正确结果。 代码如下: <? $temp = 1; $right = ($temp < 大家知道是咋回事么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Almzg_0
2011-03-24
打赏
举报
回复
处理如下了:
判断 是64位的,就右移32位
Almzg_0
2011-03-23
打赏
举报
回复
非常感谢你们提供的原因。
具体咋解决啊 ?嘻嘻
feng_lqwe
2011-03-23
打赏
举报
回复
1 << 2 <=>向左移2位,右边补0,100 即4;
1<< -2 <=> 1>>2 右移2位 在最高位前补0,由(111111111111111)1变成001111111111111
记得以前老师是这么教的。。。
feng_lqwe
2011-03-23
打赏
举报
回复
就是二进制移位嘛
lazyboy_wu
2011-03-22
打赏
举报
回复
[Quote=引用 5 楼 helloyou0 的回复:]
简单, 那是64位机器,你的是32位的
[/Quote]
+1
helloyou0
2011-03-22
打赏
举报
回复
简单, 那是64位机器,你的是32位的
Almzg_0
2011-03-22
打赏
举报
回复
说下我应用得场景吧。
我是从网上找到一个des算法,其中有如下代码: $right ^= ($temp << -16);
发现左移正数没问题,左移负数有问题,按照 kyzy_yy_pm 和 freeman 的建议,能否把代码替换下?
Almzg_0
2011-03-22
打赏
举报
回复
有符号别算
======
怎么说?
1 << -2
其实向右移动了两位
1111111111111111(16)
11111111111111111111111111111111(32)
注意有无符号
==========
php新手,能提供更多信息么?
随行的太阳
2011-03-22
打赏
举报
回复
有符号别算
kyzy_yy_pm
2011-03-22
打赏
举报
回复
1 << -2
其实向右移动了两位
1
11
1111111111111(16)
1
11
11111111111111111111111111111(32)
注意有无符号
PHP
5.4
+
php
.ini标配.rar
PHP
5.4
+
php
.ini标配 带";#" 处的已经作了修改,可直接使用;请覆盖前将原
php
备份以备不测
php
_mongo.dll
5.4
,5.5插件各个版本下载
看标题,测试后可以用,找了很久,csdn里有另一个要5分,我就从他那下的,再免费贡献给各位下载
php
_redis.dll redis for
php
5.4
.x
php
_redis.dll 扩展 For
PHP
5.4
.x
PHP
5.4
.x 的 redis 扩展
php
_redis.dll 测试平台:Windows XPx32 (FastCGI
PHP
5.4
.9 Nginx 1.4.0) 包含 Non Thread Safe 和 Thread Safe 两个版本 首先把
php
_redis.dll 和
php
_igbinary.dll 放入
PHP
的ext文件夹,然后在
php
.ini配置文件里添加如下代码: extension=
php
_igbinary.dll extension=
php
_redis.dll 重启web服务器 注意:extension=
php
_igbinary.dll一定要放在extension=
php
_redis.dll的前面,否则此扩展不会生效。
php
5.4
.x缓冲区溢出,英文漏洞报告解读(一)——
PHP
5.4
.x <
5.4
.32 Multiple Vulnerabilities...
Nessus扫描报告---------------------------------------------------------------------------------------------------------------------------------------------------------------High
PHP
5.4
.x <
5.4
.32 Multi...
php
5.4
在window上安装redis扩展
2、下载
php
_redis.dll和
php
_igbinary.dll,我的
php
版本是
5.4
nts,
php
_redis用的是
php
_redis-2.2.7-
5.4
-nts-vc9-x86,
php
_igbinary-1.2.1-
5.4
-nts-vc9-x86,试过其它版本均不行,不知道为什么。3、将指定的
php
_igbinary.dll,
php
_redis.dll文件放入到对应
php
版本的ext目录下。1、
php
info()查看应该用什么版本。修改对应
php
.ini配置加上。
基础编程
21,890
社区成员
140,338
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章