c語言裡double型別的資料可以精確到小數點後幾位

2021-03-28 02:47:09 字數 5627 閱讀 5729

1樓:匿名使用者

"%lf"預設只顯示6位小數,如果想顯示更多請指定:例如"%0.16lf"

精度位不夠自動四捨五入,沒辦法去掉。只有增加精度顯示

2樓:匿名使用者

十進位制的15或16位有效數字,因此精確到小數點後最多有15或16位。

3樓:匿名使用者

這個我記得跟系統的位數有關吧,還有你是以lf 的格式列印出來的,這2個一樣嗎?

c語言中如何用實驗的方法確定double型浮點數能精確到多少位小數?

4樓:匿名使用者

#include"stdio.h"

int main()

5樓:林小兀

根據列印的結果我們可以

判斷位數的,如果超過一定位數,顯示的就是錯誤的了,這樣可以看出double的精確度 。例子程式如下:

#include"stdio.h"

int main()

6樓:天雲一號

可以通過定義乙個double型的變數,並對變數進行賦值,之後輸出該變數的值即可。

下面舉例來具體說明:

double f = 3.141592653589;

printf("%lf", f);

實驗結果輸出3.141593,說明double型能精確到小數點後6位。

注:該測試是在32位計算機中的vs2010環境下執行的,具體的精確度還要考慮計算機的位數與編譯環境。

7樓:匿名使用者

最簡單的 1÷3= 數一下有多少位小數

8樓:茅浩宕井妮

轉換型別有這個語句的,比如我設個floatx 如果我想把這個變數轉換成double

就可以這樣寫

(double*)x

公式為(要轉換的型別*)變數,記住就可以了,以後什麼都能轉換,這叫強制轉換

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

9樓:假面

單精度浮

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

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

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

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

10樓:great小明童鞋

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

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

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

c語言是什麼:

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

11樓:文化廚子

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

12樓: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

13樓:匿名使用者

1.有效數字:

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

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

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

2.位元組:

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

14樓:匿名使用者

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

15樓:瘋狂夏風翼

浮點型變數分為單bai

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

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

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

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

16樓:匿名使用者

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

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

17樓:匿名使用者

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

c語言中double要輸出幾位小數?

18樓:去問驅蚊器

c語言中double預設輸出 6 位小數。

如果要控制輸出小數字數,可以格式化輸出。

printf("%.3lf ", d);   // "%.3lf"  .3 則是輸出 3 位小數。

printf("%.4lf ", d);   // "%.4lf"  .4 則是輸出 4 位小數 。

c語言兼顧了高階語言的組合語言的優點,相較於其它程式語言具有較大優勢。計算機系統設計以及應用程式編寫是c語言應用的兩大領域。同時,c語言的普適較強,在許多計算機作業系統中都能夠得到適用,且效率顯著。

擴充套件資料:

特點1、簡潔的語言

c語言包含有各種控制語句僅有9種,關鍵字也只有32 個,程式的編寫要求不嚴格且多以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且c語言本身不提供與硬體相關的輸入輸出、檔案管理等功能。

2、具有結構化的控制語句

c語言是一種結構化的語言,提供的控制語句具有結構化特徵,如for語句、if⋯else語句和switch語句等。可以用於實現函式的邏輯控制,速食麵向過程的程式設計。

3、豐富的資料型別

c語言包含的資料型別廣泛,不僅包含有傳統的字元型、整型、浮點型、陣列型別等資料型別,還具有其他程式語言所不具備的資料型別,其中以指標型別資料使用最為靈活,可以通過程式設計對各種資料結構進行計算。

4、豐富的運算子

c語言包含34個運算子,它將賦值、括號等均視作運算子來操作,使c程式的表示式型別和運算子型別均非常豐富。

5、可對實體地址進行直接操作

c語言允許對硬體記憶體位址進行直接讀寫,以此可以實現組合語言的主要功能,並可直接操作硬體。c語言不但具備高階語言所具有的良好特性,又包含了許多低階語言的優勢,故在系統軟體程式設計領域有著廣泛的應用。

6、**具有較好的可移植性

c語言是面向過程的程式語言,使用者只需要關注所被解決問題的本身,而不需要花費過多的精力去了解相關硬體,且針對不同的硬體環境,在用c語言實現相同功能時的**基本一致,不需或僅需進行少量改動便可完成移植。

7、可生成的高質量目標**,高執行效率的程式

與其他高階語言相比,c語言可以生成高質量和高效率的目標**,故通常應用於對**質量和執行效率要求較高的嵌入式系統程式的編寫。

19樓:會飛的小兔子

在c語言裡面double預設輸出6位小數。

double佔8個位元組(64位)記憶體空間,最多可提供16位有效數字,小數點後預設保留6位。如全是整數,最多提供15位有效數字。

例如:doublea=1;

printf("%lf\n",a);

輸出會是

1.000000

擴充套件資料c 語言輸出雙精度(double)數,使用printf()與%e輸出雙精度數:

#include

intmain()

輸出結果:

d的值為1.200123e+01

20樓:我是果瘋

c語言中double預設輸出 6 位小數(不足六位以 0 補齊,超過六位按四捨五入截斷),可以根據自己的需要去修改輸出的位數,例如輸出兩位小數:(%2lf)。

double可以表示十進位制的15或16位有效數字。

擴充套件資料:

double負值取值範圍為 -1.7976e+308 到 -4.94065645841246544e-324,正值取值範圍為 4.

94065645841246544e-324 到 1.797693e+308。

浮點型別:

1,單精度浮點型:float

2,雙精度浮點型:double

3,複數浮點型:float_***lex,double_***ple, long long_***ple

浮點型資料:

1,loat型

編譯系統為每乙個float型變數分配4個位元組,數值以規範化的二進位制數指數形式存放在儲存單元中。

2,double型

為了擴大能表示的數值範圍,用8個位元組儲存乙個double型資料,可以得到15位有效數字。

3,long double型

不同的編譯系統對long double型的處理方法不同,visual c++6.0對long double型和double一樣處理,分配8個位元組。

c語言中的double和,C語言中的double和float

double與float的區別在於bai在記憶體中存放數du據時占用的記憶體不一樣 zhi,前者dao8位元組,後者4位元組,也就回是前者儲存的小數字數答 比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999,...

C語言中基本資料型別有哪些,c語言簡單資料型別有哪些

void 宣告函式無返回值或無引數,宣告無型別指標,顯示丟棄運算結果。char 字元型版 型別資料權,屬於整型資料的一種。int 整型資料,表示範圍通常為編譯器指定的記憶體位元組長。float 單精度浮點型資料,屬於浮點資料的一種。double 雙精度浮點型資料,屬於浮點資料的一種。bool 布林型...

型別資料後面的多少位是精確的,double型別,小數點後的位數

1 那一位都不一定是精確的,看使用它時怎麼處理。2 duble底層是二進位制浮點數,眾回所周知,10進製小數有些是答無法精準轉換成二進位製小擻的,比如10進製0.3,無法轉換成二進位制浮點數0.3,只能轉換成0.29999999.這裡那一位是精確的?沒有一位是精確的,當然我們會有辦法把它處理成0.3...