通常情况下我把long 和 int的长度都认为是32位,而有一次在PAT上提交代码时,long通过了,而int却有一个测试数据不过。
这是为什么呢?
我想原因如下吧:
1)我们所用的PC一般是32位的,long和int也都是32位的,自己编译运行时,long和int没什么区别。
2)当代码提交到服务器时,服务器一般性能较强劲,64位或更高的可能性比较大,而为了向下兼容int还是被编译成32位,而long却会被编译成更高的位数。
所以在编程题中有时int会溢出,而long却不会。
通常情况下我把long 和 int的长度都认为是32位,而有一次在PAT上提交代码时,long通过了,而int却有一个测试数据不过。
这是为什么呢?
我想原因如下吧:
1)我们所用的PC一般是32位的,long和int也都是32位的,自己编译运行时,long和int没什么区别。
2)当代码提交到服务器时,服务器一般性能较强劲,64位或更高的可能性比较大,而为了向下兼容int还是被编译成32位,而long却会被编译成更高的位数。
所以在编程题中有时int会溢出,而long却不会。