主题:  我在自学javascript刚学到运算符就出现了问题,求帮!

webroamer

职务:普通成员
等级:1
金币:0.0
发贴:77
#12004/8/12 12:37:28
我学到javascript中的运算符处,有三个运算符书中没有讲明白:就是<<,>>和>>>.
7<<3我觉得好像得56(7=111+000=111000=56)
但是里面可不可以加上负数呢?加上后怎样计算?
请大家来帮帮忙!!!谢谢大家!!!



=ridincal=

职务:管理员
等级:7
金币:20.0
发贴:5886
#22004/8/12 16:24:44
<<和>>是位运算符,分别是左移和右移,javascript中整形为32位(Win);当最高位为1时为负数:

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

编辑历史:[此帖最近一次被 ridincal 编辑过(编辑时间:2004-08-14 09:30:10)]


webroamer

职务:普通成员
等级:1
金币:0.0
发贴:77
#32004/8/13 9:55:44
我说的负数不是结果里变成负数,而是这样:-7>>>2等于的结果怎么变的那么大,怎么算出来的,难道不是-1吗?

编辑历史:[此帖最近一次被 redwaal 编辑过(编辑时间:2004-08-13 10:01:07)]


不是高手

职务:普通成员
等级:3
金币:5.0
发贴:1352
#42004/8/13 15:41:47
>>是向右转换,并复制最左边的位数
>>>是向右转换,并用0填充



=ridincal=

职务:管理员
等级:7
金币:20.0
发贴:5886
#52004/8/14 10:06:48
-7: 0000000000000000000000000000111
>>>: 1111111111111111111111111111000
>>>2: 0011111111111111111111111111110
=1073741822