下午好,C#算术问题
从未使用过C#做严肃的数学工作,我刚才注意到一些东西,给我留下了困惑......如果这是真的,
double Test = Math.Sqrt(UInt64.MaxValue)
等于4294967296.0,就是UInt32.MaxValue + 1
,那为什么
ulong Test2 = UInt32.MaxValue * UInt32.MaxValue;
等于1?乍一看,在我看来,溢出发生在这里...但为什么是因为该产品应该适合UInt64
?
非常感谢。
是的。请给我的问题-1。非常感谢你。 – Miguel 2011-03-09 15:19:05
这个问题没有错? – Spooks 2011-03-09 15:20:38
@Miguel:我不认为你需要-1。你犯了一个诚实的错误。这个问题已经得到解答,就是这样。 – siride 2011-03-09 15:20:42