1樓:匿名使用者
標準c語言支援的浮點數符合ieee格式,是二進位制浮點數,並不是一個位元組存放一個十進位制小數位的。
關於ieee浮點數,可以參考這裡
至於這裡的輸出問題,如ls所說,是printf預設輸出問題。如果使用%f和%lf格式控制符輸出浮點數,預設輸出保留6位十進位制小數,自動四捨五入。用%.
nf可以控制輸出精度,n是表示保留小數位數的正整數。
2樓:匿名使用者
%f預設是輸出6位小數,你可以用%.1f,%.2f來控制小數點後位數
c語言關於浮點型資料範圍的問題
3樓:匿名使用者
可以這樣理解:浮點數由有效數及指數兩部分組成,你提到的兩個值,應該說一個是一個是最大數,一個是最小精度值。其實如果是從值的範圍來說,這個編譯環境下面,最小的負數應該是可以表示到-3.
402823466 e+38,在-3.402823466 e+38到+3.402823466 e+38之間的數,都是可以表示的。
(但不一定是準確表示,因為作為數學上的有理數是連續的,而對於計算機上用二進位制位表示的數,是離散的,所以,可能會出現有一些很接近的值,在計算機內表示都是相同的,即是說不能區別)。所以-100自然就是在這個最小到最大值範圍內了。
4樓:
32位float範圍為-3.40e+38 ~ +3.40e+38(或-2^128 ~ +2^128)
e-38指的是能表示到的絕對值最小的非零數,實際範圍下限是-3.4e+38
請先溫習一下正負指數冪、科學記數法的基本概念=。=
5樓:匿名使用者
不同編譯器對同一型別的長度不同
c語言 節(16進位制)轉換成浮點數的問題
金色潛鳥 指標b,指向a的首地址。怎麼算出來的 從感測器傳過來的cd cc cc 41,小端碼的話,四個位元組內容 變化 為 0x41cccccd 轉 float 為 25.6。你可以 自己 用 聯合體 研究 union uuu main 與子如初見 1.定義一個字元指標b,指向變數a的地址。由於型...
C語言中怎樣判斷輸入的是整數還是浮點數
scanf s,str 先存成字串if null strchr str,等於null是沒有找到小數點else sscanf str,lf,b 再從字串格式化成浮點型例如 inti floatf doubled 輸入i是整數,輸入f是float型,輸入d是double型 2 看輸入格式scanf d ...
關於c語言的問題,關於C語言的問題
鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...