我知道,Int32.MaxValue * Int32.MaxValue 会产生一个比Int32更大的数字;但是,这个语句不应该引发某种异常吗?
当我做类似于IF (X * Y > Z)的事情时,其中所有内容都是Int32。如果X和Y足够大,则从X * Y中得到一个虚假值。
为什么会这样,如何解决这个问题?除了将所有内容转换为Int64之外,还有什么方法可以解决这个问题?
当我做类似于IF (X * Y > Z)的事情时,其中所有内容都是Int32。如果X和Y足够大,则从X * Y中得到一个虚假值。
为什么会这样,如何解决这个问题?除了将所有内容转换为Int64之外,还有什么方法可以解决这个问题?
unchecked
块中? - Skywalker