利进颖 发表于 2020-9-3 16:12

PHP左移问题

本帖最后由 利进颖 于 2020-9-3 19:13 编辑

我想问一下
为什么PHP计算的下面的左移和其他语言计算出来的不一样
100034139<<5      =   3201092448
而我在某些网页上在线运算,和其他语言算出来的,是个负数
-1093874848
而这个计算出来的负数才是我真正需要的值
PHP这语言有没有专门计算左移的函数什么的呢


补充一个,,,,
-993840627<<5    =   -31802900064
要怎么求这个结果等于-1738128992

c03xp 发表于 2020-9-3 16:56

用0x100000000减去3201092448试试

微博橙一呀 发表于 2020-9-3 17:10

不挂悬赏等啥呢

涛之雨 发表于 2020-9-3 17:22

应该是位数的问题吧
还有是不是可能是有/无符号整数的问题

Light紫星 发表于 2020-9-3 17:50

异或一下应该就对了

Light紫星 发表于 2020-9-3 17:52

Light紫星 发表于 2020-9-3 17:50
异或一下应该就对了

3201092448 ^ -0x100000000= -1093874848

利进颖 发表于 2020-9-3 17:59

本帖最后由 利进颖 于 2020-9-3 19:13 编辑

Light紫星 发表于 2020-9-3 17:52
3201092448 ^ -0x100000000= -1093874848
谢谢,那个再问一个小问题
-993840627<<5    =   -31802900064
要怎么求这个结果等于-1738128992

Light紫星 发表于 2020-9-3 19:48

利进颖 发表于 2020-9-3 17:59
谢谢,那个再问一个小问题
-993840627

-31802900064 ^ 0x700000000 = -1738128992
页: [1]
查看完整版本: PHP左移问题