導航:首頁 > 源碼編譯 > 浮點型數據編譯

浮點型數據編譯

發布時間:2023-09-10 13:38:54

㈠ VC++編譯時提示 從「double」到「float」截斷 那「截斷」是什麼意思

在當前的計算機中,double類型存儲佔8位元組,float類型存儲佔4位元組,當兩個不同類型的數據進行賦值時,系統進行隱式類型轉換,高精度向低精度的賦值時,低精度變數無法完整存儲高精度數據,系統會自動「截斷」部分內容,完成數據轉存,這樣就有可能會造成數據精度丟失。
在C/C++語言中,浮點型常數的默認類型是double類型,如0.5 ,123.45等
若想得到float類型常數,則要在常數後加f 字元,如:0.5f , 123.45f等

當把double類型數據賦值給float類型變數時,系統編譯時會報以下警告:
warning C4244: '=' : conversion from 'double' to 'float', possible loss of data (從double轉成float,可能會造成數據丟失)
因此,數據間賦值一定要採用正確的類型,建議在使用浮點數時,只使用double類型。

㈡ C語言編程序時怎麼控制浮點型輸出的小數點精確到幾位

使用輸出格式說明符來指定精確到小數點位數。

如:

void main()

{

float a=345.234678;

printf("%.3f ", a) ;

}

其中%.3f里的3就表示輸出精確到小數點後3位。

所以可參考的形式是printf("%m.nf",p);

%m.nf,指定輸出的數據共佔m列,其中有n位是小數。如果數值長度小於m,則左端補空格,若數值長度大於m,則按實際位數輸出。

(2)浮點型數據編譯擴展閱讀:

實型變數分為兩類:單精度型和雙精度型,

其類型說明符為float 單精度說明符,double 雙精度說明符。在Turbo C中單精度型佔4個位元組(32位)內存空間,其數值范圍為3.4E-38~3.4E+38,只能提供七位有效數字。雙精度型佔8 個位元組(64位)內存空間,其數值范圍為1.7E-308~1.7E+308,可提供16位有效數字。

實型變數說明的格式和書寫規則與整型相同。

例如: float x,y; (x,y為單精度實型量)

double a,b,c; (a,b,c為雙精度實型量)

實型常數不分單、雙精度,都按雙精度double型處理。

閱讀全文

與浮點型數據編譯相關的資料

熱點內容
程序員送外賣好做嗎 瀏覽:676
cpu頻率計演算法 瀏覽:519
壓縮模量與壓縮性 瀏覽:996
android特效控制項 瀏覽:412
linux文件為空 瀏覽:38
189原版伺服器地址 瀏覽:115
程序員談國足 瀏覽:336
本地電腦如何做網站伺服器 瀏覽:484
小尋s5下載的app怎麼卸載 瀏覽:306
zbrushpdf 瀏覽:897
met肌肉能量技術pdf 瀏覽:195
php面試重點 瀏覽:683
如何從管理員界面刪除文件夾 瀏覽:908
單片機三匯流排信息如何隔離 瀏覽:690
雲伺服器研發費用明細 瀏覽:957
unity3d手機游戲開發pdf 瀏覽:366
mysql重啟命令linux 瀏覽:876
程序員日常業余內容 瀏覽:363
steam如何更改吃雞伺服器 瀏覽:212
我的世界up主多人用什麼伺服器 瀏覽:161