VC6 0對double提供15位有效數字?

2023-04-30 00:35:06 字數 3821 閱讀 3729

1樓:網友

vc中預設輸出時六位有效數字,你想得到更高精度的輸出,可以再在cout前寫一句括號裡的n是輸出數的位數,輸出數的最後一位為四捨五入的。

2樓:匿名使用者

vc中預設輸出時六位有效數字。建議用c的printf函式。

double a=;

float a2=;

printf("a = 15f",a);

printf("a2 = 6f",a2);

另外,c++中,float型別保留七位小數;double型別保留十五位小數。

3樓:定玉枝哈月

#include

包含標準輸入出輸入出標頭檔案。

main()

double

和float

一樣,是浮點型資料型別,float是單精度,double是雙精度,double

d=;是定義一個double型別的變數d且賦初值為的值是1,不是。

y=(x+;

d是一個雙精度浮點型資料,也就是一個實數,一個實數和一個整數相乘,結果應該是實數,但是printf給出的格式控制符是%d,也就是按整數輸出。所以,最後輸出的數應該是0。

如果是vc的話:程式還可以這樣寫:

#include

voidmain()

double

d=;intx,y;

x=;y=(x+;

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

4樓:匿名使用者

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

5樓:匿名使用者

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

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

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

使用vc++6.0和譚浩強的c語言書,double型佔8個位元組,有15位有效數字,為什麼能表示到1.7*10^308

6樓:匿名使用者

浮點數的儲存方式和普通的整型數不同,解釋起來很費時,建議lz去查一下ieee 754 標準,這個是使用的最廣泛的浮點數標準了,看懂這個就可以理解了。

7樓:匿名使用者

數符(s) 階碼(e) 尾數(m) 總位數 十六進位制。

短實數(single,float) 1位 8位 23位 32位 0x7fh +127

長實數(double) 1位 11 位 52位 64位 0x3ffh +1023

臨時實數(延伸雙精確度, 1位 15位 64位 80位 0x3fffh +16383

s(sign)表示n的符號位。對應值s滿足:n>0時,s=0; n<0時,s=1。

e(exponent)表示n的指數位,位於s和m之間的若干位。對應值e值也可正可負。

m(mantissa)表示n的尾數位,恰好,它位於n末尾。m也叫有效數字位(significand)、係數位(coefficient), 甚至被稱作"小數"。

8樓:網友

好像double的是存一個地方,10存一個地方,308存一個地方!不是說每一位就代表1和0!是需要把和10,和308運算一下得到結果!!

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

9樓:匿名使用者

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

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

printf("%lf", d);

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

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

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

要輸出15位,可以使用。

printf("%15lf", d);

10樓:匿名使用者

printf("%15f",;

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

請問double型有效數字為什麼是15位?那儲存大小的64位怎麼理解?

11樓:匿名使用者

儲存大小的64位是有64個2進位制數,其中包含符號位,浮點位等,有效數字15位數的是10進位制的。

12樓:匿名使用者

double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位制的15或16位有效數字,負值取值範圍為 到 -4.

94065645841246544e-324,正值取值範圍為 到

一個位元組兩位,8個位元組就是16位,當然可以少位數。

double型別浮點數的15位有效數字是從小數點後算的,還是從數字的第一位

13樓:

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

在c語言標準庫標頭檔案定義了浮點數小數點後的有效位數 :/標頭檔案的部分**。

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

c++中double可以儲存15位有效數字,但是double長度只能8位元組啊,為什麼

14樓:網友

double(雙精度浮點數)使用 64 位(8位元組,1位元組8位【二進位制位】) 來儲存一個浮點數。

double的符號位為第63位,指數為第62~52位,共11位。表示的範圍為-1024~1023。底數為第51~0位,2^52=4,503,599,627,370,496共16位【十進位制位】。

表示的範圍為。

是一個數,它的儲存方式參照上述。

才是10個位元組(1個字元佔一個位元組),之所以不是9個,是因為字串的末尾都有個字元'\0'

15樓:匿名使用者

15位是十進位制位,8位元組是二進位制的位元組,相當於64個二進位制位。兩者有何衝突麼。

vc++6.0中 float double精度問題。具體問題見補充

16樓:網友

這裡的六位數字是輸出時候cout四捨五入機制得到的結果,你說的15-16位有效數字是double型別能夠儲存的精度。雖然它能夠儲存15~16位,但是列印的時候只輸出了前面幾位。

cout輸出小數位數可以通過。

來調整。把它加到cout<

17樓:匿名使用者

c++在未設定fixed/scientific標誌的情況下是預設輸出6位有效數字(並且不輸出無意義的0),double型15-16位有效數字是跟編譯器有關的,有的保證15位內數字精確,有的則保證到16數字精確,但這並不代表》16位的double型就一定不精確,只不過系統的double型精度安全保證是15-16位。

18樓:愛好_問問

c語言裡double是多了兩個位元組,可以表示更高精度,但是預設輸出還是6位。

c++裡float和double已經一樣了,都是4個位元組。

19樓:匿名使用者

只是輸出顯示的不一樣。設定一下輸出位數就可以了。

vc6 0遊戲開發環境配置,VC 6 0遊戲開發環境配置

當然有關係。目前絕大多數pc遊戲都使用iso c directx開發。手機遊戲大多采用j2me開發,不過近期有被c 蠶食的跡象。遊戲開發中的美工不僅僅是ps軟體的使用問題,更重要的是繪製功底,不是會作圖就可以,而且需要繪圖,我希望你能搞清楚當中的區別。同樣還有3d建模。如3d max等等。目前開發平...

怎樣完全解除安裝vc 6 0,然後重灌

1 在win 10中開啟安裝vc 6.0的安裝目錄,點選 unins000 解除安裝程式。2 在彈出的確認視窗中依次點選 是 3 等待解除安裝完成,可以看到vc 6.0成功解除安裝,點選 確定 關閉視窗。4 按住鍵盤 windows r 鍵,在彈出的執行視窗中,輸入 control 進入控制面板,點...

VC 6 0 不好用,高手指點

樓主,牛b啊,這種事情也讓你碰到了。請問你是不是編mfc?如果是的話,你可以從頭跟設斷點,跟蹤程式,是不是視窗在初始化的時候,發生斷沿。是以上情況的話,那麼恭喜你,你的 有問題,好好檢查,設斷點跟蹤,考慮下,是不是哪個全域性變數沒有初始化等。以上情況的排除的話,你可以編一個最簡的c加法程式,看看能不...