❶ c語言怎麼表示單精度浮點數
在C語言源碼中,只能在浮點數後面加f來表示單精度浮點數。譬如如下代碼:
floatf=1.1f;
或者
floatf=1.1F;
大小寫都可以的。
16進制的浮點數編碼,它不像整數編碼那樣直觀,因為浮點數編碼,在計算機中是以IEEE754格式進行編碼編碼的,每一個二進制位都有不同的意思,拿單精度浮點數來說,它的符號位佔1位,指數位佔8位,有效數字位佔23位,而且,如果使用十六進制來傳送,你還要確定計算機的內存,存儲順序。 相對很復雜的。
要了解更多浮點數編碼的問題,可以自己找一下IEEE754編碼格式詳細的介紹。也許會幫到你!
❷ c語言里單精度和雙精度怎麼理解
單精度和雙精度顧名思義是兩種精度的不同劃分,單精度float是保證7位有效數字,double是保證16位有效數字。
例:(float)(10%3)
結果是1.000000即七位有效數字,(後面不一定全是0,計算機可隨機選擇數字,所以整數1不等於float或double的1)
(double)(10%3)
同理結果是:1.XXXXXXXXXX……後面有十五位的有效數字
雖然整數位都是1,但由於有效位數不同,即後面隨機派出的小數可能不同,所以二者理論上不同,實際比較不能用==,要用fabs()<1e-6.
❸ c語言中如何輸入一個浮點數x然後輸出x但保留五位小數
聲明變數x為double型(浮點雙精度)或float(浮點單精度)。
調用輸入函數scanf("%lf",&x);或scanf("%f",&x);——其中%lf表示x是double型、%f表示float型。
調用printf("%.5f ",x);輸出——其中.5表示小數點後保留5位小數。