日期:2014-05-20  浏览次数:20688 次

F#的坑爹地方,大家来看看,抛砖引玉来聊下F#
F#代码
let rec xxxx n a = 
    if a >1
    then n * xxxx n (a-1)
    else n 
    
let result2 = xxxx 2 31
let result3 = xxxx 2 30
let result4 = xxxx 2 32
运行结果
val xxxx : n:int -> a:int -> int
val result2 : int = -2147483648
val result3 : int = 1073741824
val result4 : int = 0

大家发现没?
------解决方案--------------------
这是运算出来的结果

val 函式1 : int -> int -> int64
val r2 : int64 = 2147483648L
val r3 : int64 = 1073741824L
val r4 : int64 = 4294967296L

写代码的时候 注意值域的大小阿