具有因子的Int溢出

时间:2017-03-10 15:49:03

标签: scala factorial

假设:

def factorial(n: Int): Int = {
    if(n <= 0) 1
    else       n * factorial(n - 1)
}

此外,由于我选择了Int,我相信以下内容可能会出现溢出行为:

scala> factorial(35)
res3: Int = 0

什么是int乘法的简单示例,导致溢出等于0

1 个答案:

答案 0 :(得分:4)

  

什么是int乘法的简单示例,导致溢出等于0?

scala> -2147483648 * 2
res4: Int = 0

其中:

Int.MaxValue + 1 = -2147483648

factorial(35)对于client = SSHClient() client.load_system_host_keys(filename='/home/barashe/.ssh/known_hosts') client.connect(hostname='lvs.cs.bgu.ac.il') stdin, stdout, stderr = client.exec_command('ls -l') 它肯定会溢出不止一次。