(1) 小數(shù)的讀法:整數(shù)部分按整數(shù)的讀法讀,如果是0就讀“零”;小數(shù)點(diǎn)讀作“點(diǎn)”;小數(shù)部分按順序讀,把每個(gè)數(shù)字都讀出來。
(2) 小數(shù)的寫法: 整數(shù)部分按整數(shù)的寫法讀,如果是“零”就寫0;小數(shù)點(diǎn)寫在個(gè)位右下角,要寫成圓點(diǎn),不能寫成“,”或“、”;小數(shù)部分按順序?qū)懀衙课欢紝懗鰜怼?/p>
小數(shù)和帶小數(shù):
(1) 整數(shù)部分是0的小數(shù)叫純小數(shù),如:0.3 0.23
(2) 整數(shù)部分不是0的小數(shù)叫帶小數(shù),如1.45 10.3
擴(kuò)展資料
小數(shù),是實(shí)數(shù)的一種特殊的表現(xiàn)形式,帶有小數(shù)點(diǎn),是一個(gè)小數(shù)的整數(shù)部分和小數(shù)部分的分界號(hào)。
1、實(shí)數(shù)可以直觀地看作有限小數(shù)與無限小數(shù),實(shí)數(shù)和數(shù)軸上的點(diǎn)一一對(duì)應(yīng)。其中整數(shù)部分是零的小數(shù)叫做純小數(shù),整數(shù)部分不是零的小數(shù)叫做帶小數(shù)。
2、小數(shù)點(diǎn),數(shù)學(xué)符號(hào),寫作“.”,用于在十進(jìn)制中隔開整數(shù)部分和小數(shù)部分。小數(shù)點(diǎn)盡管小,但是作用極大。因?yàn)檫@個(gè)不起眼的差錯(cuò),人類釀過一個(gè)又一個(gè)悲劇。正可謂“差之毫厘,謬以千里”。
Java 語言支持兩種基本的浮點(diǎn)類型: float 和 double ,以及與它們對(duì)應(yīng)的包裝類 Float 和 Double 。
它們都依據(jù) IEEE 754 標(biāo)準(zhǔn),該標(biāo)準(zhǔn)為 32 位浮點(diǎn)和 64 位雙精度浮點(diǎn)二進(jìn)制小數(shù)定義了二進(jìn)制標(biāo)準(zhǔn)。 IEEE 754 用科學(xué)記數(shù)法以底數(shù)為 2 的小數(shù)來表示浮點(diǎn)數(shù)。
IEEE 浮點(diǎn)數(shù)用 1 位表示數(shù)字的符號(hào),用 8 位來表示指數(shù),用 23 位來表示尾數(shù),即小數(shù)部分。作為有符號(hào)整數(shù)的指數(shù)可以有正負(fù)之分。
小數(shù)部分用二進(jìn)制(底數(shù) 2)小數(shù)來表示,這意味著最高位對(duì)應(yīng)著值 ?(2 -1),第二位對(duì)應(yīng)著 ?(2 -2),依此類推。對(duì)于雙精度浮點(diǎn)數(shù),用 11 位表示指數(shù),52 位表示尾數(shù)。
IEEE 浮點(diǎn)值的格式如圖 1 所示。 圖 1. IEEE 754 浮點(diǎn)數(shù)的格式 因?yàn)橛每茖W(xué)記數(shù)法可以有多種方式來表示給定數(shù)字,所以要規(guī)范化浮點(diǎn)數(shù),以便用底數(shù)為 2 并且小數(shù)點(diǎn)左邊為 1 的小數(shù)來表示,按照需要調(diào)節(jié)指數(shù)就可以得到所需的數(shù)字。
所以,例如,數(shù) 1.25 可以表示為尾數(shù)為 1.01,指數(shù)為 0: (-1) 0*1.01 2*2 0 數(shù) 10.0 可以表示為尾數(shù)為 1.01,指數(shù)為 3: (-1) 0*1.01 2*2 3 特殊數(shù)字 除了編碼所允許的值的標(biāo)準(zhǔn)范圍(對(duì)于 float ,從 1.4e-45 到 3.4028235e+38),還有一些表示無窮大、負(fù)無窮大、-0 和 NaN(它代表“不是一個(gè)數(shù)字”)的特殊值。這些值的存在是為了在出現(xiàn)錯(cuò)誤條件(譬如算術(shù)溢出,給負(fù)數(shù)開平方根,除以 0 等)下,可以用浮點(diǎn)值集合中的數(shù)字來表示所產(chǎn)生的結(jié)果。
這些特殊的數(shù)字有一些不尋常的特征。例如, 0 和 -0 是不同值,但在比較它們是否相等時(shí),被認(rèn)為是相等的。
用一個(gè)非零數(shù)去除以無窮大的數(shù),結(jié)果等于 0 。特殊數(shù)字 NaN 是無序的;使用 == 、 運(yùn)算符將 NaN 與其它浮點(diǎn)值比較時(shí),結(jié)果為 false 。
如果 f 為 NaN,則即使 (f == f) 也會(huì)得到 false 。如果想將浮點(diǎn)值與 NaN 進(jìn)行比較,則使用 Float.isNaN() 方法。
表 1 顯示了無窮大和 NaN 的一些屬性。 表 1. 特殊浮點(diǎn)值的屬性 表達(dá)式 結(jié)果 Math.sqrt(-1.0) -> NaN 0.0 / 0.0 -> NaN 1.0 / 0.0 -> 無窮大 -1.0 / 0.0 -> 負(fù)無窮大 NaN + 1.0 -> NaN 無窮大 + 1.0 -> 無窮大 無窮大 + 無窮大 -> 無窮大 NaN > 1.0 -> false NaN == 1.0 -> false NaN false NaN == NaN -> false 0.0 == -0.01 -> true 基本浮點(diǎn)類型和包裝類浮點(diǎn)有不同的比較行為 使事情更糟的是,在基本 float 類型和包裝類 Float 之間,用于比較 NaN 和 -0 的規(guī)則是不同的。
對(duì)于 float 值,比較兩個(gè) NaN 值是否相等將會(huì)得到 false ,而使用 Float.equals() 來比較兩個(gè) NaN Float 對(duì)象會(huì)得到 true 。造成這種現(xiàn)象的原因是,如果不這樣的話,就不可能將 NaN Float 對(duì)象用作 HashMap 中的鍵。
類似的,雖然 0 和 -0 在表示為浮點(diǎn)值時(shí),被認(rèn)為是相等的,但使用 Float.compareTo() 來比較作為 Float 對(duì)象的 0 和 -0 時(shí),會(huì)顯示 -0 小于 0 。 浮點(diǎn)中的危險(xiǎn) 由于無窮大、NaN 和 0 的特殊行為,當(dāng)應(yīng)用浮點(diǎn)數(shù)時(shí),可能看似無害的轉(zhuǎn)換和優(yōu)化實(shí)際上是不正確的。
例如,雖然好象 0.0-f 很明顯等于 -f ,但當(dāng) f 為 0 時(shí),這是不正確的。還有其它類似的 gotcha,表 2 顯示了其中一些 gotcha。
表 2. 無效的浮點(diǎn)假定 這個(gè)表達(dá)式…… 不一定等于…… 當(dāng)…… 0.0 - f -f f 為 0 f = g) f 或 g 為 NaN f == f true f 為 NaN f + g - g f g 為無窮大或 NaN 舍入誤差 浮點(diǎn)運(yùn)算很少是精確的。雖然一些數(shù)字(譬如 0.5 )可以精確地表示為二進(jìn)制(底數(shù) 2)小數(shù)(因?yàn)?0.5 等于 2 -1),但其它一些數(shù)字(譬如 0.1 )就不能精確的表示。
因此,浮點(diǎn)運(yùn)算可能導(dǎo)致舍入誤差,產(chǎn)生的結(jié)果接近 ― 但不等于 ― 您可能希望的結(jié)果。例如,下面這個(gè)簡(jiǎn)單的計(jì)算將得到 2.600000000000001 ,而不是 2.6 : double s=0; for (int i=0; i<26; i++) s += 0.1; System.out.println(s); 類似的, .1*26 相乘所產(chǎn)生的結(jié)果不等于 .1 自身加 26 次所得到的結(jié)果。
當(dāng)將浮點(diǎn)數(shù)強(qiáng)制轉(zhuǎn)換成整數(shù)時(shí),產(chǎn)生的舍入誤差甚至更嚴(yán)重,因?yàn)閺?qiáng)制轉(zhuǎn)換成整數(shù)類型會(huì)舍棄非整數(shù)部分,甚至對(duì)于那些“看上去似乎”應(yīng)該得到整數(shù)值的計(jì)算,也存在此類問題。例如,下面這些語句: double d = 29.0 * 0.01; System.out.println(d); System.out.println((int) (d * 100)); 將得到以下輸出:0.29 28 這可能不是您起初所期望的。
浮點(diǎn)數(shù)比較指南 由于存在 NaN 的不尋常比較行為和在幾乎所有浮點(diǎn)計(jì)算中都不可避免地會(huì)出現(xiàn)舍入誤差,解釋浮點(diǎn)值的比較運(yùn)算符的結(jié)果比較麻煩。最好完全避免使用浮點(diǎn)數(shù)比較。
當(dāng)然,這并不總是可能的,但您應(yīng)該意識(shí)到要限制浮點(diǎn)數(shù)比較。如果必須比較浮點(diǎn)數(shù)來看它們是否相等,則應(yīng)該將它們差的絕對(duì)值同一些預(yù)先選定的小正數(shù)進(jìn)行比較,這樣您所做的就是測(cè)試它們是否“足夠接近”。
(如果不知道基本的計(jì)算范圍,可以使用測(cè)試“abs(a/b - 1) < epsilon”,這種方法比簡(jiǎn)單地比較兩者之差要更準(zhǔn)確)。甚至測(cè)試看一個(gè)值是比零大還是比零小也存在危險(xiǎn) ―“以為”會(huì)生成比零略大值的計(jì)算事實(shí)上可能由于積累的舍入誤差會(huì)生成略微比零小的數(shù)字。
NaN 的無序性質(zhì)使得在比較浮點(diǎn)數(shù)時(shí)更容易發(fā)生錯(cuò)誤。當(dāng)比較浮點(diǎn)數(shù)時(shí),圍繞無窮大和 NaN 問題,一種避免 gotcha 的經(jīng)驗(yàn)法則是顯式地測(cè)試值的有效性,而不是試圖排除無效值。
在清單 1 中,有兩個(gè)可能的用于特性的 setter 的實(shí)現(xiàn),該。
(1) 小數(shù)的讀法:整數(shù)部分按整數(shù)的讀法讀,如果是0就讀“零”;小數(shù)點(diǎn)讀作“點(diǎn)”;小數(shù)部分按順序讀,把每個(gè)數(shù)字都讀出來。
(2) 小數(shù)的寫法: 整數(shù)部分按整數(shù)的寫法讀,如果是“零”就寫0;小數(shù)點(diǎn)寫在個(gè)位右下角,要寫成圓點(diǎn),不能寫成“,”或“、”;小數(shù)部分按順序?qū)?,把每位都寫出來。小?shù)和帶小數(shù):(1) 整數(shù)部分是0的小數(shù)叫純小數(shù),如:0.3 0.23(2) 整數(shù)部分不是0的小數(shù)叫帶小數(shù),如1.45 10.3?擴(kuò)展資料小數(shù),是實(shí)數(shù)的一種特殊的表現(xiàn)形式,帶有小數(shù)點(diǎn),是一個(gè)小數(shù)的整數(shù)部分和小數(shù)部分的分界號(hào)。
1、實(shí)數(shù)可以直觀地看作有限小數(shù)與無限小數(shù),實(shí)數(shù)和數(shù)軸上的點(diǎn)一一對(duì)應(yīng)。其中整數(shù)部分是零的小數(shù)叫做純小數(shù),整數(shù)部分不是零的小數(shù)叫做帶小數(shù)。
2、小數(shù)點(diǎn),數(shù)學(xué)符號(hào),寫作“.”,用于在十進(jìn)制中隔開整數(shù)部分和小數(shù)部分。小數(shù)點(diǎn)盡管小,但是作用極大。
因?yàn)檫@個(gè)不起眼的差錯(cuò),人類釀過一個(gè)又一個(gè)悲劇。正可謂“差之毫厘,謬以千里”。
小數(shù)有兩大類分類方法,一種是按照整數(shù)部分的情況分類,另一種是按照小數(shù)部分的情況分類。
一、按照整數(shù)部分的情況分類,可分為:
1、純小數(shù),是指整數(shù)部分為“0”的小數(shù)。例如0.3、0.226等,都是純小數(shù)。
2、帶小數(shù),是指整數(shù)部分不為“0”的小數(shù)。例如1.638,223.745,等,都是帶小數(shù)。
二、按照按照小數(shù)部分的情況分類,可分為:
1、有限小數(shù),是指小數(shù)部分后有有限個(gè)數(shù)位的小數(shù)。如2.4768,0.524,6.3333333等,有限小數(shù)都屬于有理數(shù),可以化成分?jǐn)?shù)形式。
2、無限小數(shù),無限小數(shù)又可分為循環(huán)小數(shù)以及無限不循環(huán)小數(shù)。循環(huán)小數(shù)從小數(shù)部分的某一位起,一個(gè)數(shù)字或幾個(gè)數(shù)字,依次不斷地重復(fù)出現(xiàn)的小數(shù)叫做循環(huán)小數(shù)。如 1/3=0.333333……等。循環(huán)小數(shù)亦屬于有理數(shù),可以化成分?jǐn)?shù)形式。
無限不循環(huán)小數(shù)小數(shù)部分則有無限多個(gè)數(shù)字,且沒有依次不斷地重復(fù)出現(xiàn)的一個(gè)數(shù)字或幾個(gè)數(shù)字的小數(shù)叫做無限不循環(huán)小數(shù),如圓周率π=3.14159265358979323……等。無限不循環(huán)小數(shù)也就是無理數(shù),不能化成分?jǐn)?shù)形式。
擴(kuò)展資料:
中國(guó)自古以來就使用十進(jìn)位制計(jì)數(shù)法,所以很容易產(chǎn)生十進(jìn)分?jǐn)?shù),即小數(shù)的概念。第一個(gè)將這一概念用文字表達(dá)出來的是魏晉時(shí)代的劉徽。他在計(jì)算圓周率的過程中,用到尺、寸、分、厘、毫、秒 、忽等7個(gè)單位;對(duì)于忽以下的更小單位則不再命名,而統(tǒng)稱為“微數(shù)”。
到了宋、元時(shí)代,小數(shù)概念得到了進(jìn)一步的普及和表示。楊輝《日用算法》(1262年)載有兩斤換算 的口訣:“一求,隔位六二五;二求,退位一二五”, 這里的“隔位”、“退位”已含有指示小數(shù)點(diǎn)位置的意義。
在歐洲和伊斯蘭國(guó)家,古巴比倫的六十進(jìn)制長(zhǎng)期以來居于統(tǒng)治地位,一些經(jīng)典科學(xué)著作都是采用六十進(jìn)制,因此十進(jìn)制小數(shù)的概念遲遲沒有發(fā)展起來。15世紀(jì)中亞地區(qū)的阿爾卡西(?~1429)是中國(guó)以外第一個(gè)應(yīng)用小數(shù)的人。歐洲數(shù)學(xué)家直到16世紀(jì)才開始考慮小數(shù)。
參考資料來源:百度百科—小數(shù)點(diǎn)
參考資料來源:百度百科—小數(shù)
一位小數(shù)表示(幾個(gè)十分之一),如0.5表示(5個(gè)十分之一);兩位小數(shù)表示(幾個(gè)百分之一),如0.05表示(5個(gè)百分之一);三位小數(shù)表示(幾個(gè)千分之一)。如0.005表示(5個(gè)千分之一)。
小數(shù)化分?jǐn)?shù)要根據(jù)分?jǐn)?shù)的意義,即:一位小數(shù)表示有多少個(gè)1/10,兩位小數(shù)表示有多少個(gè)1/100,三位小數(shù)表示有多少個(gè)1/1000。
把單位“1”平均分成10份、100份、1000,表示這樣的一份或幾份是十分之幾、百分之幾、千分之.幾可以用小數(shù)表示。一位小數(shù)表示十分之幾,兩位小數(shù)表示百分之幾,三位小數(shù)表示千分之幾。
擴(kuò)展資料:
小數(shù)部分后有有限個(gè)數(shù)位的小數(shù)。如3.1465,0.364,8.3218798456等,有限小數(shù)都屬于有理數(shù),可以化成分?jǐn)?shù)形式。
一個(gè)最簡(jiǎn)分?jǐn)?shù)可以被化作十進(jìn)制的有限小數(shù)當(dāng)且僅當(dāng)其分母只含有質(zhì)因數(shù)2或5或兩者。 類似的,一個(gè)最簡(jiǎn)分?jǐn)?shù)可以被化作某正整數(shù)底數(shù)的有限小數(shù)當(dāng)且僅當(dāng)其分母之質(zhì)因數(shù)為此基底質(zhì)因數(shù)的子集。
參考資料來源:百度百科-小數(shù)
小數(shù)由整數(shù)部分、小數(shù)部分和小數(shù)點(diǎn)組成 小數(shù)是十進(jìn)制分?jǐn)?shù)的一種特殊表現(xiàn)形式 分母是10、100、1000。
的分?jǐn)?shù)可以用小數(shù)表示 所有分?jǐn)?shù)都可以表示成小數(shù) 小數(shù)中除了無限不循環(huán)小數(shù)外都可以表示成分?jǐn)?shù) 無理數(shù)為無限不循環(huán)小數(shù) 小數(shù)末尾添上0或去掉0,小數(shù)的大小不變,但計(jì)數(shù)單位變了。而且,小數(shù)點(diǎn)向左移動(dòng)一位、兩位、三位,原來的數(shù)就縮小10倍、100倍、1000倍,小數(shù)點(diǎn)向右移動(dòng)一位、兩位、三位,原來的數(shù)就擴(kuò)大10倍、100倍、1000倍,。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:2.651秒