實型資料問題有效位問題,實型資料問題

2025-01-31 08:05:26 字數 3123 閱讀 6651

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