摘要: 问题描述:在一个把JS代码转换为C#代码时碰到一个问题数值1:-1197179797数值2:84941944608 (超过32位最大值 2147483647)用JS异或结果是:2118863691用C#异或结果是:-83780482229解决过程:经测试 JS中如果整数内存大于32位时, JS会自动屏蔽掉32位以后字节JS: 0^0x100000001 结果是 1 而不是0x100000001,因为首位的1位于第33字节 自动被忽略掉了,所以结果是1在C#中异或是以Long 64位长度异合, 因此两者结果不一样解决方法:通过C#实现JS中效果的解决方法如果异或的数num大于0xFFFFFFF, 阅读全文
posted @ 2012-02-26 17:55 Hanf 阅读(4179) 评论(2) 推荐(0) 编辑
Copyright © 2008-2016 Hanf All Rights Reserved