pascal急求助!

[复制链接]
查看11 | 回复1 | 2011-3-5 03:15:47 | 显示全部楼层 |阅读模式
我写的位运算判重的时候,为什么
a:=a or (1 shl (x-1))这句话会出错啊,有时候不会,有时候又要出错。急等解决!!
回复

使用道具 举报

千问 | 2011-3-5 03:15:47 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">我记得,pascal中求1 shl 31时会出错(不管是用什么数据类型,qword也是。)也就是说,写位运算时避免shl 31这种情况。实在不行可以这么写:
if x-1=31 then a:=a or (1 shl 31) else a:=a or (1 shl (x-1));
很冷= =,其实没有实际变动,但是这样貌似真的就不会出错了。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行