我正在尝试弄清楚C#和Javascript之间的一些区别。好的,在Javascript中使用以下代码:
var j = 0x783a9b23;
var bt = ((16843134 ^ (16843134 - 1)) * j);执行此命令后,"bt“将为6051320169。
现在,在C#中完成此操作后:
int j = 0x783a9b23;
int bt = ((16843134 ^ (16843134 - 1)) * j);"bt“将是1756352873。当然不是一样的。你知道为什么Javascript没有看到C#是怎么看的吗?
发布于 2011-11-10 20:18:03
您可以这样做,让它像在C#中一样工作
var j = 0x783a9b23;
var bt = ((16843134 ^ (16843134 - 1)) * j);
bt = bt % 2147483647这是因为在c#中,您的整数溢出了2,147,483,647的限制。
https://stackoverflow.com/questions/8079338
复制相似问题