c語言中,float型和double型變數如果不指定寬度,應

2021-03-28 02:47:08 字數 6179 閱讀 3107

1樓:匿名使用者

double與float的區別在於在記憶體中存放資料時佔用的記憶體不一樣,前者8位元組,後者4位元組,也就是前者儲存的小數位數比後者多一倍。

舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.

999999。因為c語言預設輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.

9999990000,而double輸出結果則為1.9999996666

c語言浮點型小數點後為多少位

2樓:假面

單精度浮

點型小bai數點後面有du效數字為

zhi7位和雙精度浮點型小數點後面有dao效版數字為16位。

單精度在一些權處理器上比雙精度更快而且只佔用雙精度一半的空間,但是當值很大或很小的時候,它將變得不精確。當需要小數部分並且對精度的要求不高時,單精度浮點型的變數是有用的。

例如,當表示美元和分時,單精度浮點型是有用的。在foxpro中,單精度浮點型是為了提供相容性,浮點資料型別在功能上等價於數值型。

3樓:great小明童鞋

浮點型變數分為單精度(float型)、雙精度(double型)、長雙精度(long double型)3類,單精度浮點型小數點後專

面有效數屬字為6~7位和雙精度浮點型小數點後面有效數字為15~16位,單精度為32位,雙精度為64位,8位為一個位元組。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。

c語言是什麼:

首先,人類發明了計算機,需要與計算機「交流」,即寫入和讀出,而且硬體需要與軟體相配才能發揮作用,這樣必須發明一中語言讓人類與機器能夠交流,就誕生了機器語言,也就是低階語言。同時因為機器硬體畢竟不如人聰明(耶~),而且二進位制也是最貼近硬體的語言,所以發明的語言也是最簡單的二進位制,而普通人甚至是科學家也難懂,所以發明了一些高階語言,如同c語言,c++等等。

4樓:文化廚子

c語言中浮點型bai一般du分為float單精度型、zhidouble雙精度型、long double長精度型,單精dao度浮點型小內數點後面有效數字為容6~7位和雙精度浮點型小數點後面有效數字為15~16位。

在c語言標準庫標頭檔案float.h定義了浮點數小數點後的有效位數 :

//float.h標頭檔案的部分**

#define dbl_dig 15    //雙精度小數點後15位#define flt_dig 6     //單精度小數點後6位#define ldbl_dig 19   //長雙精度小數點19

5樓:a九尾妖姬

c語言來中浮點型一般分為float單精度源型、double雙精度型、long double長精度型,單精度浮點型小數點後面有效數字為6~7位和雙精度浮點型小數點後面有效數字為15~16位。

在c語言標準庫標頭檔案float.h定義了浮點數小數點後的有效位數 :

//float.h標頭檔案的部分**

#define dbl_dig 15 //雙精度小數點後15位#define flt_dig 6 //單精度小數點後6位#define ldbl_dig 19 //長雙精度小數點19

6樓:匿名使用者

1.有效數字:

c語言bai中浮點型一du般分為float單精zhi度dao型、double雙精度型

單精度浮點型小數點後面專有效數字為屬7位和雙精度浮點型小數點後面有效數字為16位。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。

2.位元組:

位元組是計算機資訊科技用於計量儲存容量的一種計量單位,也表示一些計算機程式語言中的資料型別和語言字元。一個英文字母(不分大小寫)佔一個位元組的空間,一箇中文 漢字佔兩個位元組的空間。一個 二進位制數字序列,在 計算機中作為一個數字單元,一般為8位二進位制數佔一個位元組,換算為 十進位制就是0~255。

7樓:匿名使用者

4個位元組是32位,比如32個1 七位有效就是隻記錄小數點後的六位,剩下的就不精確了 比如剩下的全用0代替了 ,顯示預設只有六位,可以控制!

8樓:瘋狂夏風翼

浮點型變數分為單bai

精度(dufloat型)、雙精度(double型)、長雙zhi精度dao(long double型)3類,內單精度浮點型小

數點後面有容效數字為6~7位和雙精度浮點型小數點後面有效數字為15~16位,單精度為32位,雙精度為64位,8位為一個位元組。

實數3.14159在記憶體中的存放形式為+.3141591,+為數符,.

314159為小數部分,1為指數10^1,所以單精度提供的是7位有效數字。希望你能明白~~~樂意為您開心服務~~~

9樓:匿名使用者

他那個有效數抄字就是比如說

baiflaot i = 3.12345678; float的有效數字為6位, 那麼du你輸出的時zhi候就會混沌化,也就是精度dao丟失,printf(「%lf」,i); 那麼他就會輸出3.12345754什麼的,也就是說當值多於有效數字的時候,那麼超出的部分值就是不可靠的值。

10樓:匿名使用者

單精度是七位,雙精度是十五位

c語言中float型和double型的精確度

11樓:匿名使用者

float的有效數字(包括整數部分)是6-7位,是指,7位數字能精確一部分,不是全部

double的有效數字(包括整數部分)是15-16位,同上。

12樓:匿名使用者

這個bai

不同的平臺,du不同的編譯器好像zhi

有差異。一般平臺daosdk裡面有專門的巨集來內定義 某個類

容型的最大,最小值,對於float 有3個邊界值,最大浮點數,最小浮點數(負),最接近0又不等於零(最小精度值)等等。這個可以看看相關標頭檔案定義。

而一般常規用途之中,小數點後面很少精確到小數點七八位的,因為如果在七八位這個精度上還要保證精度,就不應該用一般的float或者double存放了,而應該用【組合數】的儲存方式

比如 struct number ;

number表示精度更高的浮點數

num表示分子

den表示分母

(c++)double型的資料,如何保留小數點後四位?

13樓:匿名使用者

在計算時,可以使用floor函式+0.5來實現四捨五入。

例如:double a = 13.45656789;

double b;

b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/

在輸出時,直接使用printf格式輸出實現保留小數點後四位。

例如:double a = 13.45656789;

printf("%.4f",a);    /*保留小數點後四位*/

14樓:匿名使用者

四捨五入 保留四位小數

#include

double a = 13.45656789;

double b;

b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/

15樓:大海中的漂泊船

floor(value)+floor((value - floor(value)) * 10000+ 0.5) / 10000; 防止double資料太大,乘以10000後溢位;

16樓:御風__弄影

#include

cout<

這就行了

17樓:

a=((int)a*10000)/10000

18樓:匿名使用者

cout<

cout<

19樓:成紅微生英飆

#include

#include

void main()

20樓:我真是瞎填的

c++格式怎麼變成c格式了

c語言中的float 型變數值精確到小數點後六位?那所有int 型的和double的呢

21樓:匿名使用者

int是整數,就談不上精確度。

double的精度為15~16位。

c語言 float型別保留幾位啊 怎麼確定

22樓:徜逸

float型別預設保留小數點後6位,若是要輸出一位或者其他位數,可以按照以下形式進專行輸出:

printf("%.(這裡輸入屬要輸出的位數)f",x);

如輸出一位:printf("%.1f",x);

c語言浮點型別的精確位數

例項#include

#include

int main()

23樓:匿名使用者

在c語言中來,float型別的資料預設保源留小數點後6位,不足6位的以0補齊,超過6位按四捨五入截斷。最多能保留7位有效數字,能絕對保證6位有效數字。

詳細可參考博文:網頁連結

**中的2.0其實就是2.000000,3.0其實就是3.000000,float型別的預設保留小數點後6位;

100/40結果應該是2.5,書中的2.0是側重和2.

5做區別,不是和2.000000做區別。同樣,下面的3.

0是要和3.14159做區別,而不是要和3.000000做區別。

所以,**中的2.0其實就是2.00000,3.0其實就是3.000000。

24樓:科技數碼答疑

float(也就是單精度浮點),預設有效位數7位。圖中的2.000000,有效數字就是7位

單精度,float,32位,有效位數為7位

雙精度,double,64位,有效位數15位

25樓:匿名使用者

%.2f就是保留小數點後兩位。數字代表保留幾位。

26樓:匿名使用者

i和j都是int型,兩個int型相除結果保留整數部分,即2,但是f是float型,結果保留6位

27樓:鄭原俊

以float型輸出時是保留小數點後6位

c語言中的double和float

28樓:匿名使用者

double與float的區別在於bai在記憶體中存放數du據時佔用的記憶體不一樣

zhi,前者dao8位元組,後者4位元組,也就回是前者儲存的小數位數答

比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.

999999,如果按照double可能為1.999999,這是為什麼,因為c語言預設輸出小數位數都取6位,這時候看起來沒有區別,但是如果你進行格式控制,比如使用%.10,即小數保留10位,float輸出結果為1.

9999990000,而double輸出結果則為1.9999996666。

29樓:圭時芳哈霜

主要區別就是精度不

來同自都屬於浮點數

也就是小數

,但精度不同

即取值的範圍不同,其中取值範圍double要比float大,因此所佔記憶體位數也不同

,一般的來說

float

佔4位元組

double

佔8位元組

對程式設計人員來說,double

和float

的區別是double精度高,有效數字16位,float精度7位。但double消耗記憶體是float的兩倍,double的運算速度比float慢得多,c語言中數學函式名稱double

和float不同,不要寫錯,能用單精度時不要用雙精度(以省記憶體,加快運算速度)。

請問c語言中的float和double型別有什麼區別?什麼

c語言中 單精度型 和bai雙精度型 指兩種du 型別 的 浮點數zhi 單精度型dao 即回 float 型,有效數字約10進位制答7位 雙精度型 即 double 型,有效數字約10進位制15位 所以能描述的數值精度不同。c語言 資料 用 ieee 754 國際標準。float 型 用 4 位元...

c語言中關於long和float兩種資料型別

long和float兩種資料型別軍師c語言中常見資料型別 long資料型別 1.long 是c語言的一個關鍵字,代表一種資料型別,中文為長整型。2.long是long int的簡寫,也就是說,在c語言中long int型別和long型別是相同的。3.long型可以表示的整型數字範圍為 2,147,4...

請問c語言問題float型資料轉int把整數部分和小

float型資料精度只有 有效數字 6 7 位,所以存放12345.53231 時,只能精確到 12345.53。要存放 12345.53231,可以用 double 或 char s.double 仍有回 10進位制到2進位制,2進位制回答10進位制的誤差問題。include int main 輸...