1樓:網友
你問的問題很有意思,不過浮點數確實就是7位。後邊的不時被忽略了,而是其他的值,浮點數不能保證7位後的值為有效的值,第8位的會進1位或則會四捨五入。在不同的編譯器可能不同。
也許就是隻是舉例子)代表後邊的位就亂套了。
就很可能是。
沒有人會具體的去想這個問題,追根拋底。因為作為程式設計師,你要控制你的程式。一般都用double沒有用float因為double的速度比float還快(絕大數編譯器),至少不低於float(少數編譯器)
如果連double都不夠了,就要考慮用演算法,比如段位,陣列等等來完成。一般不會遇到這個問題。
實型資料問題?
2樓:網友
前兩句結果跟你一樣,最後一句根本編譯不過:
error c2059: syntax error : 'bad suffix on number'
error c2146: syntax error : missing ')' before identifier 'f'
error c2059: syntax error : ')'
3樓:網友
printf("%f ",356.);//365.表示是浮點型別的數;
printf("%f ",356); //365表示是整型,而%f是浮點型別輸出,這與365型別不符,所以系統按處理(這是系統的事了)
printf("%f ",356f); //356f表示的也是浮點型別的數。
4樓:網友
再看看。你打錯了吧。
為什麼實型資料可以有8位有效數字??
5樓:網友
實型(float)資料預設的小數點後是6位。可以修改。
比如:printf("a=%。2f",a)就是小數點後2位,printf("a=%",a)表示輸出7位,小數點算一位,小數也算一位,兩位小數,不足7位的前面補空格(printf("%",輸出 前面有3個空格))
還有(int型):printf("a=%5d",a)表示輸出5位,不足5位的前面補空格 printf("a=%",a)表示輸出5位,3個數字,前面2個空格,數字不足3位的前面補0 printf("a=%.3d",a)表示輸出3個數字,數字不足3位的前面補0
6樓:可康泰卿媚
你看看。ieee754
標準就明白了,浮點數的概念是相對於定點數的,浮點數是精度可變的一種表示法,其表示的數越大,其精度就越低,這也剛好滿足科學上的需要。
單精度浮點數是。
位的,格式如下:
域:符號位。
指數(階碼)
尾數。長度:
二進位:0可以看出,這其中真正用來表示原來資料的也就是。
位的尾數部分,由於計算機內部的誤差以及進位轉換的問題,這。
23位二進位。
換算成。十進位。
後有效數字也就。
位了,其中的詳細運算規則請檢視該標準。
有關c語言實型資料問題
7樓:網友
是這樣理解的:
float型資料絕對值的取值範圍是,這表示的是乙個精度問題,而它的資料取值範圍則是。
要是的話,那麼正如你所說的,連個-1都存放不了,這顯然是不可能的!
8樓:順德迷途羔羊
的負38次方,比-1少多了,科學記數法你看不懂,別學了。
9樓:06書中客
沒錯,浮點數表示就這樣啊 。表示範圍 _+
c語言實型資料問題
10樓:
double x,y;
x=1; //將整數1轉換成double型賦給x;
y=x+3/2; //先計算3/2,這是整數除,結果為1,將1轉換為double型與x相加,結果為double型的,最後賦給y。
11樓:網友
y=x+3/2 因為3和2都是整型的,所以3/2=1.結果y=2
[c語言]實型資料的問題
12樓:網友
是代表沒錯啊,所以結果就是12345678900啊,再加上20,所以結果就是12345678920.
我不知道你的結果是怎麼得到的。
關於c語言實型資料的乙個問題
13樓:網友
printf的%f預設會給你留6位小數 和有效數字沒關係。
順便鄙視一下弄得全中國人都相信「單精度保留6或7位有效數字」的譚大**x_xb
14樓:網友
%f是保留小數後6位。
並不是有效6位。
如果你只想保留4位就寫成% 8和4可以改。
c++輸出流檔案資料有效位問題
15樓:網友
呼叫 (2);
改變outfile的行為。
樓上的方法也不錯。
但要用fprintf(file,"%.2f",ceil(x) )
16樓:
試試printf("%.2f"((float)x-(int)x))行不行至於用具體格式的話,沒必要非得追查c的函式吧。
vb 實型資料的疑問?
17樓:網友
你理解錯啦! 它說的是精度的範圍 而不是數值的範圍 你理解成數值的範圍了。
那話的意思是說。
兩個數大到38位, 小到小數點後45位 它都能區別 0才一位呀。
我這句話的意思是說 個0)1 這種比小數點後45位還小的它就不能區別了。
比如 1 跟 1+個0)1 它就當成是1了 要1+ 以上的數 它才當成另外乙個數。
比如尺子上最小精度是1公釐 它就不能區別 還是 mm 如果是公釐 它也當成 0公釐了 公釐 當成1 公釐了(四捨五入) 這裡 就是尺子上的1公釐 尺子當然也能量0公釐的東西啦 所以0是取得到的。
還有e-45表示小數點後45位 e38 表示小數點前38位 有個負號呢。
但願你能理解吧。
整型常量和實型常量的區別,整型資料和實型資料的區別是什麼?
一 資料型別不同 整型常量的預設資料型別是int型別,即有符號整型。浮點數常量的預設型別是double型別,即雙精度型別。二 儲存方式不同 整型資料在計算機中用補碼儲存,實型資料採用ieee754標準儲存 三 表現形式不同 整型常量在c語言中,整型常量分為十進位制整型常量 八進位制整型常量和十六進位...
c語言中什麼算是實型資料?舉例子
實型資料分兩類 單精度和雙精度float和double在記憶體中佔用的位元組 float佔用4個位元組,double佔用8個位元組。整型的變數是沒有小數點的,實型是有小數點的整型你可以理解為整數,5 5就是整型常量。不是實型包含整型,實型和整型是不同的型別,它們在記憶體中的儲存方式是不。實型資料分兩...
Excel資料篩選問題,Excel資料篩選問題!!!
你的公式中需要讓當前行的b列資料符合一個or的條件,又要讓當前行的b列資料等於第二個or的條件。而且這個2個條件需要同時滿足。這個怎麼可能實現呢?if or b2 b1041 1,0 改了一下公式,你再試試吧。if and b2 l0151 l0152 l1231 l1232 l1321 l1322...