AS3:添加2个正整数会产生负整数

时间:2013-04-19 04:05:50

标签: actionscript-3 int addition integer-overflow

我在AS3中制作了Pascal的三角形。

在结果中我发现,添加1037158320和1166803110得到-2091005866,为负整数!

这很奇怪。我首先认为int的幅度太大了,但总和的幅度甚至大于两个加数。

另外,当一个数字接近Pascal三角形线的中心时,它应该增加,但-2091005866旁边的数字是-1961361076,它更接近中心但幅度减小了!

任何可能的解决方案?

1 个答案:

答案 0 :(得分:4)

引用ActionScript 3.0 Reference

  

int类允许您使用表示32位的数据类型   有符号整数。 int类表示的值范围是   -2,147,483,648(-2 ^ 31)至2,147,483,647(2 ^ 31-1)。

1037158320 + 1166803110 = 2203961430,大于2147483647.。

考虑使用uintNumber