連續數 與 離散數

2022-07-15 17:24:12 字數 893 閱讀 3143

在eclipse裡試一下,以下**的輸出是多少?

double a = 19 * 3.3 ;

system.out.println("a: " + a);

為什麼結果不是 62.7 ?

顯示的結果為 62.699999999999996 ,而不是 62.7 ,為什麼?

(1) 62.7 和 62.699999999999996 實際意義上是一樣的,double是乙個不精確的表示

(2) double用於表示連續數,int表示離散數。什麼叫連續數,看下面的解釋。

/* 小知識:連續數 與 離散數

* 連續數:表示乙個連續的值,本身是不精確的。

* 比如,買了1000克豬肉,和買了999.999999克鍺肉,

* 並無區別。因為1000克本身是乙個不精確的測量值,有一定的誤差。

* 再比如說,你在高速上開車,120km就算超速。然而,測速軟體不會剛好卡在120km就判定超速的,

* 因為誰都知道速度測量有誤差。一般會在大於 120 + 10 左右才算你超速。

* 你作為程式設計師,在連續數的判斷上必須要加上誤差範圍,不然會被人投訴的。

* 離散數:表示離散的值。如1只豬,2只豬。

* 離散數用int表示,可以精確比較。比如,小王家有m只豬,小李家有n只豬,則m和n 可以精確比較。

* 連續數用double表示,不能精確比較。比如,小王身高1.8000公尺,小李身高1.79999公尺,

* 然後你說小王比小李高,人家能服氣嗎?尺子的誤差那麼大!

* 小知識:1.0 = 0.999999... 你明白嗎?

* 因為1/3 = 0.3333333

* 所以 3 * 1/ 3 = 0.999999 = 1

*/筆記來自他人借鑑。

十七 離散與維數災難

在上一講中我們介紹了mdp模型,但上一講中的情況只適應於狀態集和動作集都有限的情況,今天我們將介紹如何解決狀態集無限 連續 而動作集有限的情況。一種簡單的方法是將連續的狀態離散成有限個狀態,當狀態位於某一區間內時,均將其視為同一狀態,然後進行求解。可以想到,這一方法的計算結果受到離散方式 原有狀態集...

連續平方數

size small color green b 連續平方數 為了表示方便,我們把5的平方記為 5 2 這樣,連續自然數的平方和就記為 1 2 2 2 3 2 4 2 請看下面的公式 1 2 2 2 3 2 4 2 x 2 y 2 是不是存在整數x,y,使得公式成立呢?顯然x y 1 勉強成立,數學...

連續數的和

題目 時間限制 1 sec 記憶體限制 128 mb 提交 317 解決 99 給出兩個整數n和k,2 n 70000,1 k n 求出1,2,3,n中連續k個數的和,並計算出和為平方數的個數。例如n 10,k 3。在1,2,10中,連續3個數的和有 1 2 3 6 2 3 4 9 3 4 5 12...