分页: 1 / 1

[求助]perl中移位

发表于 : 2010-02-08 22:56
tandkzy
很简单的一个操作。即使用 1 << 5,结果是32。但是如果这样:
$a=6;
$a--;
1 << $a;
结果打印出来是44542208...不知道怎么回事。 :em06

Re: [求助]perl中移位

发表于 : 2010-02-08 23:17
tandkzy
已解决。问题出在移位语句上。当移位语句接受的是一个常量的时候,应写等号确认。但对于变量,不能写等号。


1 << $num;
16 >>= 2;
如果在向右移时不写等号将不会发生移位操作。

Re: [求助]perl中移位

发表于 : 2010-02-09 12:34
ChenFengyuan

代码: 全选

Script started on Tue 09 Feb 2010 12:31:06 PM CST
chenfengyuan@darkstar:~$ perl -wle '$a=6;$a--;print 1 << $a;'
32
chenfengyuan@darkstar:~$ exit
exit

Script done on Tue 09 Feb 2010 12:31:10 PM CST
我这对的阿