关闭INT64的问题(50分)

  • 主题发起人 主题发起人 风铃夜思雨
  • 开始时间 开始时间

风铃夜思雨

Unregistered / Unconfirmed
GUEST, unregistred user!
个问题
var i:int64;
begin
i:=270000 * 10000;会溢出
i:=2700000000;这样没事
end;
乘不出这个结果啊
 
var
i,j,k:int64;
begin
j:= 270000;
k:= 10000;
i:= j * k;
end;
这样就可以了,溢出不是说你的 i 溢出。
 
var i:int64;
begin
i:=270000 * 10000;会溢出 ==> I := int64(270000) * int64(10000); // 或者 i := Int64(270000) * 10000;

i:=2700000000;这样没事
end;

这是因为Delphi的优化处理导致的。
 
接受答案了.
 
后退
顶部