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樓:匿名使用者 只是輸出顯示的不一樣。設定一下輸出位數就可以了。 當然有關係。目前絕大多數pc遊戲都使用iso c directx開發。手機遊戲大多采用j2me開發,不過近期有被c 蠶食的跡象。遊戲開發中的美工不僅僅是ps軟體的使用問題,更重要的是繪製功底,不是會作圖就可以,而且需要繪圖,我希望你能搞清楚當中的區別。同樣還有3d建模。如3d max等等。目前開發平... 1 在win 10中開啟安裝vc 6.0的安裝目錄,點選 unins000 解除安裝程式。2 在彈出的確認視窗中依次點選 是 3 等待解除安裝完成,可以看到vc 6.0成功解除安裝,點選 確定 關閉視窗。4 按住鍵盤 windows r 鍵,在彈出的執行視窗中,輸入 control 進入控制面板,點... 樓主,牛b啊,這種事情也讓你碰到了。請問你是不是編mfc?如果是的話,你可以從頭跟設斷點,跟蹤程式,是不是視窗在初始化的時候,發生斷沿。是以上情況的話,那麼恭喜你,你的 有問題,好好檢查,設斷點跟蹤,考慮下,是不是哪個全域性變數沒有初始化等。以上情況的排除的話,你可以編一個最簡的c加法程式,看看能不...vc6 0遊戲開發環境配置,VC 6 0遊戲開發環境配置
怎樣完全解除安裝vc 6 0,然後重灌
VC 6 0 不好用,高手指點