❶ c語言中單精度浮點數和雙精度分別如何表示有什麼差別
C語言中,單精度浮點型為float, 雙精度浮點型為double。
Float為單精度,內存中佔4個位元組,有效數位是7位(因為有正負,所以不是8位),在我的電腦且VC++6.0平台中默認顯示是6位有效數字。
double為雙精度,佔8個位元組,有效數位是16位,但在我的電腦且VC++6.0平台中默認顯示同樣是6位有效數字。
二者區別:
佔用位元組空間不同。
一個float變數佔用四位元組,一個double類型變數,一般佔用8位元組。表示範圍不同。
float表示範圍為-3.4E-38~3.4E+38。double 表示範圍為-1.7E-308~1.7E+308。
精度不同。
float在表示十進制時,有效數字為6到7位。double在表示十進制時,有效數字為15到16位。輸入輸出格式不同。
在C語言中,輸入輸出格式化字元串,float使用%f,而double使用%lf。
❷ c語言裡面的浮點數的表示方法有幾種分別是什麼
浮點類型有四種:①float(單精度浮點類型),佔用二進制位數32位;
②double(雙精度浮點類型),佔用二進制位數64位;
③char(字元類型),佔用二進制位數16位;
④boolean(布類型)。
❸ C語言怎麼表示單精度浮點數
在C語言源碼中,只能在浮點數後面加f來表示單精度浮點數。譬如如下代碼:
floatf=1.1f;
或者
floatf=1.1F;
大小寫都可以的。
16進制的浮點數編碼,它不像整數編碼那樣直觀,因為浮點數編碼,在計算機中是以IEEE754格式進行編碼編碼的,每一個二進制位都有不同的意思,拿單精度浮點數來說,它的符號位佔1位,指數位佔8位,有效數字位佔23位,而且,如果使用十六進制來傳送,你還要確定計算機的內存,存儲順序。 相對很復雜的。
要了解更多浮點數編碼的問題,可以自己找一下IEEE754編碼格式詳細的介紹。也許會幫到你!
❹ 浮點數 用C語言表示
位元組長度不一樣吧。所以a變雙精度以後,開始位置的地址,前一半都是0,後一半才有內容了。所以,數據的一致性啊!
❺ C語言 浮點數
f要寫在數字的最後面。是1.2f
浮點數,簡單理解就是帶小數的數。再准確一點說,就是表示實數的數。
❻ C語言中浮點數標準是什麼
浮點數就是實數,有兩種表示方式:十進制形式(如123,123.0)和指數形式(如123e3,e前必須有數字,後面必須是整數)
float比特數為32,printf函數中用"%f"作為輸出一個實數的格式符
簡單地說明下,不知道是否符合你的要求,呵呵
❼ C語言中浮點數的問題
int scanf( const char *format, ... );
scanf("%d,%d", &a, &b);
如果a和b都被成功讀入,那麼scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end of file,返回值為EOF。
且返回值為int型.
你試試看是否是返回值為1。
❽ C語言怎麼表示單精度浮點數
在C語言源碼中,只能在浮點數後面加f來表示單精度浮點數。例如:float f=1.0f
單精度浮點數(Single)
用來表示帶有小數部分的實數,一般用於科學計算。
佔用4個位元組(32位)存儲空間,包括符號位1位,階碼8位,尾數23位。其數值范圍為-3.4E38~3.4E38,單精度浮點數最多有7位十進制有效數字,單精度浮點數的指數用"E"或"e"表示。
單精度浮點數有多種表示形式:±n.n(小數形式) ±n E ±m(指數形式) ±n.n E ±m (指數形式)
如果某個數的有效數字位數超過7位,當把它定義為單精度變數時,超出的部分會自動四捨五入。
雙精度浮點數(double)
用8個位元組(64位)存儲空間,包括符號位1位,階碼11位,尾數52位。
❾ c語言裡面的浮點數的表示方法有幾種都是什麼啊
2種表示方法
1.十進制小數形式,如1.08,.98,18.;
2.指數形式,如3.45e6
浮點數的類型分3類:
1.float,單精度浮點數,(visual
C下)佔用4個位元組,表示範圍:3.4e-38~3.4e38
2.double,雙精度浮點數,佔用8個位元組,表示範圍:1.7e-308~1.7e308
3.long
double,長雙精度浮點數,佔用10個位元組,表示範圍:1.2e-4932~1.2e4932