dev c怎麼讓c語言中double顯示15位她只預設為六位

2021-03-28 02:47:09 字數 6233 閱讀 2973

1樓:匿名使用者

c格式:printf("%.15lf", 1.23 );

c++: cout <

c++中既然對double提供15位有效數字,為什麼double變數輸出時是六位有效數字?

2樓:匿名使用者

六位是指保留的小數位數,不是有效數字!!

3樓:匿名使用者

%f和%lf都是預設輸出6位小數,並不代表double型別的精度只有6位小數

如果需要多輸出,強制指定就可以了

例如printf(".15lf\n",a); 就可以輸出15位小數了

c語言,dev c++裡float和double

4樓:資料**

#include

#include

int main()

5樓:匿名使用者

lf 和 1f 你看不出區別麼 l 的小寫 不是數字 一

c語言怎麼輸出15有效數字的double型資料

6樓:匿名使用者

double型別的有效數字,指的是小數部分的精確值。

在c語言中,double可以表示15位的有效數字,但是如果存在double型別的變數d,用printf輸出最基礎的格式為

printf("%lf", d);

但是c語言預設輸出只有6位小數,即6位有效數字。

要擴大有效數字的長度,可以採用

%.nlf的格式,其中n為常數,為有效數字的長度。

要輸出15位,可以使用

printf("%.15lf", d);

7樓:匿名使用者

#include

#include

using namespace std;

int main()

8樓:匿名使用者

printf("%.15f",5.0/3.0);

"%.15f"表示小數點後面著15位

c語言 執行結果中為什麼雙精度實型只輸出小數點後六位

9樓:匿名使用者

在c語言中,輸出double型別(雙精度實型)以及float型別(單精度實型)時,預設輸出6位小數。

比如這樣的版**:

double a = 1;

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

輸出會是

1.000000

但是權有時六位會顯得很長,沒必要。比如計算平均分,一到兩位小數就足夠了。

可是有時六位又不夠,需要更多位小數,比如計算高精度平方根。

這時可以用printf的格式控制。

如果要輸出n位小數,那麼可以用%.nlf的格式。其中n為數字。

如要輸出10位小數,那麼

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

即可類似的輸出1位小數

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

10樓:匿名使用者

樓上的回答是對的,printf要求你輸出格式,預設6位小數,你可以指定輸出幾位

11樓:匿名使用者

printf("%lf",p);

是一般輸出形式預設是 6位吧

你 試試

printf("%.10f",p);

也許就 可以了

12樓:匿名使用者

你可以自己設定輸出精度的

printf("%.nf",p); n為你的精度

如:printf("%.6f",p); //輸出為小數點後6位

13樓:匿名使用者

只輸出六位小數,這是預設的,可以改變,如:printf("%6",d)

c語言中double,float輸出問題

14樓:匿名使用者

在輸出的時候double型別預設輸出小數點後6位, 如果想看後面一些, 採用%m.nf格式輸出

m為小數點前位回數, n為小數點後位答數按照你給出的數可以寫成

printf("%3.12f\n%f", a, b);

15樓:匿名使用者

double 和 float都可以用%f輸出。預設6位小數。如果是其它要求,需要指定。如

printf("%.11lf\n%.3f",a,b);

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

16樓:去問驅蚊器

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語言可以生成高質量和高效率的目標**,故通常應用於對**質量和執行效率要求較高的嵌入式系統程式的編寫。

17樓:會飛的小兔子

在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

18樓:我是果瘋

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個位元組。

19樓:匿名使用者

預設6位,不過可以通過程式控制為想要的位數;如:printf("%12.15lf\n",x);表示輸出佔12格的小數位數為15為的x的值;printf("%.

8lf\n",x);表示輸出小數位數為8為的x的值。

20樓:匿名使用者

32位環境下剛幫你測了下

float小數點後有效精度6位

double小數點後有效精度16位置

21樓:匿名使用者

在沒有設定長輸出的情況下,預設六位,其輸出有效數字為九位。

22樓:匿名使用者

預設是6位,也可以自己設定。

23樓:擦肩的陽光

15位,float 6位

c語言中如何處理才能讓double精確顯示15位,多餘的小數位用0-代替,求高手幫忙,急急急!!

24樓:囊中無忌

%.15lf

使用上面的格式輸出就行了,整數部分不變,小數部分輸出15位

c語言 有關double型取值範圍的問題

25樓:金色潛鳥

double型取值範圍 查你的編譯器的標頭檔案 float.h#define dbl_epsilon 2.2204460492503131e-016 -- 最小解析度

#define dbl_max 1.7976931348623158e+308 -- 最大值

隨編譯器和機器而變。

程式運算過程中的範圍有限制。例如 i*i 允許的 i 就很小了。

同樣,double 運算,也會縮小 a 的允許範圍。

26樓:宛丘山人

1.浮點數賦初值最好採用:result=0.0

2.格式符l用於長整形,也可用於d,o,x,u前面,但用在f前面無效,所以你的輸出還是浮點數的標準格式。

3.f格式符用來輸出實數,以小數形式輸出,因為你沒有指定欄位寬度,所以按系統自動指定,使整數部分全部如數輸出,並輸出6位小數。應當注意,並不是輸出的都是有效數字,的精度的有效數字是7位有效數字,雙精度是15位有效數字,只輸出6位小數。

這就是你輸出小數總是6位的原因。你說的總是精確到小數後6位是不對的,因為輸出的數不一定是準確的。

4.指定輸出格式的方法是:%m.nf。你那個lf是沒用的。意即輸出的資料共佔m列,其中有n位小數。如果總長不足m,則左端補空格,即向右靠齊。

5.如想向左靠齊,則用格式:%-m.nf。

你試一下看,這些譚浩強的《c程式設計》第1版講得很清楚,你可以找來看看。

27樓:空雪夢見

用%g就可以去掉後面一堆0。對於double來說,取值可以到1後面300個0那麼大,不過這不重要,重要的是「有效數字」,double更重要的是「有效數字」(和數學上的有效數字意思相同):52位二進位制數,差不多15個十進位制數字

28樓:匿名使用者

大概是這樣。

具體double的取值請查書去。。反正是個非常大的範圍。

至於輸出結果是六位小數,那顯然不是double的範圍。是printf的問題,人家預設輸出六位小數。你加些引數就會瞬間大好多。

比如 %20.15lf ,就是15位小數了。還可以加個什麼玩意弄成科學計數法什麼的好像

C語言中exit怎麼用,在C語言中,exit 0 是什麼意思

exit 結束當前程序 當前程式 在整個程式中,只要呼叫 exit 就結束。return 是當前函式返回,當然如果是在主函式main,自然也就結束當前程序了,如果不是,那就是退回上一層呼叫。在多個程序時.如果有時要檢測上程序是否正常退出的.就要用到上個程序的返回值。exit 1 表示程序正常退出.返...

c語言中作用C語言中作用

取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...

請問C語言中,1,請問C語言中,

是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...