怎麼看表示式的資料型別是單精度還是雙精度比如

2021-03-03 20:34:13 字數 3158 閱讀 2999

1樓:龍行西海

你可以 system.out.println(); 輸出看一下 會提示你是否超出精度範圍的...

記得給最佳啊 呵呵....

表示式18/4*sqrt(4.0)/8值的資料型別為(

2樓:匿名使用者

double

首先計算18/4得到的int型的。

然後結果和sqrt(4.0)計算,sqrt返回double型的數。

然後/8.

由於c語言算數計算向上相容,所以結果為double型的。

但結果是1.000000是不是?

3樓:匿名使用者

c語言的話應該是double,因為c語言資料進行計算時資料型別會由低階向高階進行隱式轉化,sqrt函式得到的是double型別,比其他的int資料型別高,所以整個結果得到的是double型別

4樓:匿名使用者

小數型別預設是double,要用float得強制型別轉換。

5樓:尤里安龍捲風

就是sqrt()返回的型別

記得是返回double的吧

c語言中怎麼算表示式的資料型別例如:表示式18/4*sqrt(4.0)/8值的資料型別為什麼?謝謝

6樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。

2、在test.cpp檔案中,輸入c語言**:printf("%d", sizeof(18/4*sqrt(4.0)/8));。

3、編譯器執行test.cpp檔案,此時通過sizeof得到其佔用位元組數為8,因此是double型別的資料。

7樓:風過滄海

double

18/4 = 4 int 與 int運算仍為 intsqrt(4.0) = 2.0 double 返回值的型別是函式sqrt定義的

18/4*sqrt(4.0) 為int與double運算,為保證精度將前面的int提升為double型別,此時結果為double

double/int 與前面類似 ,要提升int為double,結果仍為double

8樓:匿名使用者

/和*等於平時計算的除以(不取餘數)和乘以 然後sqrt()等於開方

18/4*sqrt(4.0)/8=18除以4乘以2.0除以8=1.0

c++表示式18/4*sqrt(4.0)/5值的資料型別是(). 怎麼做

9樓:匿名使用者

1. 這個牽涉到強制轉化問題,有個優先順序,低精度的和高精度的資料運算時,把低精度的轉化為高精度的資料,結果是高精度的資料2. 由於sqrt返回值是double型別,在這個表示式中double是最高精度

3. 所以結果應該是double型別

10樓:

=4*2.0/5=8.0/5=1.600000。

11樓:匿名使用者

應該是float型別

12樓:翠代秋毓瑰

18/4*sqrt(4.0)/5

按優先順序分為:

(1)18/4

整數除以整數

用「整除」得4

--int

型(2)sqrt(4.0)

得2.0

--double

型(3)4*

2.0得

8.0--

double

型(4)

8.0/5得

1.6--

double

型資料型別是

double,

數值是1.6

表示式18/4*sqrt(4.0)/8值的資料型別是 ( )。 a、int b、float c、double d、不確定 選哪一個呀!!!

13樓:匿名使用者

選c,double級別高,sqrt()出來的結果是double,不管別的,最後一定是double

14樓:匿名使用者

c,除數和被除數中任意一個是實型結果都會是實型,而sqrt預設為double,所以向高等級變化!應是雙精度實型!

15樓:有錢買不起房子

sqrt返回double型別,整個表示式將按double,所以選擇c

請問一下:表示式18/4*sqrt(4.0)/8值的資料型別為int嗎?sqrt()又是什麼?

16樓:匿名使用者

sqrt 開平方根。 語法: float sqrt(float arg); 返回值:

浮點數 函式種類: 數**算 參考: http:

//article.china-code.***/3/41/28037/ccwypc69.

html

17樓:匿名使用者

該表示式的值應該為double型,其中sqrt是系統庫函式,用於求形參的平方根,形參和返回值型別均為double型別,按c表示式計算規則,該式先就算18/4得4(int型),然後就算4×2.0得8.0(double型),然後計算8.

0/8得1.0(double)

表示式18/4*sqrt(4.0)/8值的資料型別是什麼?

18樓:匿名使用者

double

首先計算18/4得到的

baiint型的。

然後結果和dusqrt(4.0)計算,sqrt返回zhidouble型的數。dao

然後/8.

由於專c語言算數計屬算向上相容,所以結果為double型的。

但結果是1.000000是不是?

19樓:己亮禾代

答案ad肯定不

來對。自

因為int(4.0)的結果一定不是整數,所以整個運算結果不是整數。答案a不對。

一個有結果的算式,最後的資料型別一定是確定的。答案d不對答案一定是在b

和c中選擇。

我選擇b,請明白

的人給解釋吧。

c語言中怎麼算表示式的資料型別例如 表示式18 4 sqrt 4 0 8值的資料型別為什麼?謝謝

和 等於平時計算的除以 不取餘數 和乘以 然後sqrt 等於開方 18 4 sqrt 4.0 8 18除以4乘以2.0除以8 1.0 double 18 4 4 int與 int運算仍為 intsqrt 4.0 2.0 double 返回值的型別是函式sqrt定義的 18 4 sqrt 4.0 為i...

表示式184sqrt408值的資料型別

sqrt 4.0 這個函式返回值是double型別 在c語言程式設計中,在儲存資料時,會按照一定規則儲存,其中,float型別資料會轉換成double型資料進行儲存。教材上也能找到原話。希望能幫到你。表示式18 4 sqrt 4.0 8值的資料型別為 double 首先計算18 4得到的int型的。...

表示式184sqrt404的值的資料型別

c.double 首先計算18 4得到的copyint型的。然後結果和sqrt 4.0 計算,sqrt返回double型的數,double sqrt double 然後 4 由於c語言算數計算向上相容,所以結果為double型的。表示式18 4 sqrt 4.0 8值的資料型別是 a int b f...