全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2090
推到 Plurk!
推到 Facebook!

關於平方函數sqr

答題得分者是:Chance36
inglong
初階會員


發表:28
回覆:27
積分:36
註冊:2004-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-13 23:21:38 IP:61.231.xxx.xxx 未訂閱
假如我要對變數x做平方, 可是x有可能是很大的數時, 會產生溢位,例如:計算100萬的平方時,出來的值不會是1000000000000 而是出現溢位14XXXXXXXX 有沒有方法或其它方法,可以運算數值很大的平方. 何需Coding爭峰 千人指 萬人鋒 敢問Coding頂峰 三尺秋水塵不染 天下無雙
------
何需Coding爭峰
千人指 萬人鋒
敢問Coding頂峰
三尺秋水塵不染
天下無雙
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-13 23:32:32 IP:211.76.xxx.xxx 未訂閱
inglong 您好:    程式的數值有其一定的範圍,所以無法完全將超過其容量的資料正確儲存。 可能要用其他方式來達到您的要求,請參考下列連結: http://delphi.ktop.com.tw/topic.php?topic_id=49456 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-13 23:48:21 IP:211.20.xxx.xxx 未訂閱
inglong 你好
Var
  a : Extended;
begin
  a := 1000000;
  ShowMessage(FloatToStr(Sqr(a)));  //=====> 1000000000000
  ShowMessage(FloatToStr(Sqr(1000000)));  //=====> 結果是錯誤的
  ShowMessage(FloatToStr(Sqr(1000000.0)));//=====> 結果正確
end;    由以上觀察得知,sqr的參數須明確的指定為Extended的型態即可正確反應結果
各型態的有效數值範圍如下(Delphi HELP提供)    Real48        2.9 x 10^-39 .. 1.7 x 10^38
Single        1.5 x 10^-45 .. 3.4 x 10^38
Double        5.0 x 10^-324 .. 1.7 x 10^308
Extended        3.6 x 10^-4951 .. 1.1 x 10^4932
Comp        -2^63 1 .. 2^63-1
Currency        -22337203685477.5808.. 922337203685477.5807
_______________________________________ 深藍的魚,祝您好運..........連連
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-13 23:52:34 IP:218.32.xxx.xxx 未訂閱
參考看看:    http://delphi.ktop.com.tw/topic.php?topic_id=23866    精采到有點恐怖感. 發表人 -
inglong
初階會員


發表:28
回覆:27
積分:36
註冊:2004-08-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-14 00:33:03 IP:61.231.xxx.xxx 未訂閱
感謝以上前輩的回應,研究中~^^. 何需Coding爭峰 千人指 萬人鋒 敢問Coding頂峰 三尺秋水塵不染 天下無雙
------
何需Coding爭峰
千人指 萬人鋒
敢問Coding頂峰
三尺秋水塵不染
天下無雙
系統時間:2024-05-17 15:13:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!