浮點(diǎn)數(shù)也稱小數(shù)或?qū)崝?shù)。 C語言中采用 float 和 double 關(guān)鍵字來定義小數(shù), float稱為單精度浮點(diǎn)型,double稱為雙精度浮點(diǎn)型。
另外,部分編譯器支持更大精度的long double,但不是所有的編譯器都支持。
二、浮點(diǎn)數(shù)的精度float只能表達(dá)6 - 7位的有效數(shù)字,不能用“ == ”判斷兩個(gè)數(shù)字是否相等。
double能表達(dá)15 - 16位有效的數(shù)字,可以用“ == ”判斷兩個(gè)數(shù)字是否相等。
long double占用的內(nèi)存有16 字節(jié), 12字節(jié),8字節(jié)。 其中16字節(jié)占大多數(shù)。
就拿我使用的編譯器 Visual Studio 2022 來說吧
運(yùn)行結(jié)果?
由此不難看出,在C語言中,浮點(diǎn)類型的單精度值具有 4 個(gè)字節(jié),而double的雙精度值具有8個(gè)字節(jié),long double類型則是由不同編譯器來決定的。
值得一提的是,在C語言中,規(guī)定了以下標(biāo)準(zhǔn):
float只能表達(dá)6 - 7位的有效數(shù)字,不能用“ == ”判斷兩個(gè)數(shù)字是否相等。
double能表達(dá)15 - 16位有效的數(shù)字,可以用“ == ”判斷兩個(gè)數(shù)字是否相等。
long double表達(dá)數(shù)據(jù)的精度和double相同。
三、浮點(diǎn)數(shù)的輸出不同于整型的 %d ,浮點(diǎn)數(shù)的輸出為 %f 和 %lf 。其中,float類型對(duì)應(yīng) %f 格式的輸出,而double 類型對(duì)應(yīng) %lf 格式的輸出。
在浮點(diǎn)數(shù)的輸出中,有幾點(diǎn)需要注意的:
1.C語言中printf輸出float和double都可以用 %f,而double型數(shù)據(jù)還可以用 %lf。
2.scanf當(dāng)中若是對(duì)雙精度的變量(對(duì)應(yīng)double類型)賦值必須是%后跟lf,而printf當(dāng)中可以用 %f 也可以用 %lf 沒有限制。
3.當(dāng)想要輸出小數(shù)點(diǎn)后x位小數(shù)時(shí),當(dāng)位數(shù)不是很大的時(shí)候,通常使用“%.xf”來表示想要輸出的數(shù)據(jù)。
四、浮點(diǎn)數(shù)的實(shí)際應(yīng)用在目前我寫代碼的過程中,需要用到浮點(diǎn)型的場(chǎng)景一般都是運(yùn)算過程中,求出結(jié)果要保留多少位小數(shù),就好比下圖這樣
運(yùn)行結(jié)果
由此可見,當(dāng)我輸出a的時(shí)候,由于精度不夠,輸出只是整型。而當(dāng)我在運(yùn)算過程中加入了“.0”后,并沒有改變?cè)袛?shù)據(jù)的大小,而且此時(shí)輸出就會(huì)轉(zhuǎn)化成浮點(diǎn)型了。
這是我第一次寫博客,有不足之處還請(qǐng)多指教,我們一起進(jìn)步!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前文章:【C語言】小白學(xué)浮點(diǎn)數(shù)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article4/djchoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站、網(wǎng)站收錄、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)