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 等同...