C語言double和int有什麼區別?各個表示範圍是多少

2021-03-27 18:09:56 字數 3680 閱讀 7405

1樓:蛙家居

double是雙精度實型數(小數),int為整型,整型[signed]int -2147483648~+2147483648,雙精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308) 。

1、int 有符號整數,根據系統(編譯器)不同,有不同的範圍,16bits系統(dos系統):-(2^15)到(2^15-1),32bits系統:-(2^31)到(2^31-1),64bits:

-(2^63)到(2^63-1)。如果是無符號整數unsigned int,那麼16bits系統(dos系統):0到(2^16-1),32bits:

0到(2^32-1),64bits:0到(2^64-1)。

2、double為雙精度浮點型,能準確到小數點後十二位,1.7 x 10^(-308)~ 1.7 x 10^(+308)。

3、因為所有的計算機語言,每個型別都向更精確的方向去自動轉。比如說,int能自動轉double型,但是倒過來就不行,必須強制轉。

2樓:匿名使用者

區別:double雙精度浮點數,就是有小數點的數,並且範圍大於intint整型,只能表示整數

它們的範圍隨著機子不同而不同,如在32位機子和64位機子,它們是不同的。32位機int(-2^31 ~ 2^31)和64位機int是不同的。

double可以表示負數

c語言double和int有什麼區別,各個表示範圍是多少,double可以表示負數嗎

3樓:楊維偉哥

區別:double雙精度浮點數,就是有小數點的數,並且範圍大於intint整型,只能表示整數

它們的範圍隨著機子不同而不同,如在32位機子和64位機子,它們是不同的。32位機int(-2^31 ~ 2^31)和64位機int是不同的。

double可以表示負數

4樓:

它們是不同的區別:double雙精度浮點數,如在32位機子和64位機子。32位機int(-2^31 ~ 2^31)和64位機int是不同的,就是有小數點的數,並且範圍大於intint整型,只能表示整數它們的範圍隨著機子不同而不同

c語言double和int有什麼區別,各個表示範圍是多少,double可以表示負數嗎

5樓:匿名使用者

區別:double雙精度浮點數,就是有小數點的數,並且範圍大於intint整型,只能表示整數

它們的範圍隨著機子不同而不同,如在32位機子和64位機子,它們是不同的。32位機int(-2^31 ~ 2^31)和64位機int是不同的。

double可以表示負數

c語言中int,float,double,char四種資料型別所能表示的資料範圍是多少?

6樓:小黑裙

資料範圍:

1、char        1位元組

2、short       2位元組

3、int         4位元組

4、long        4位元組

5、long long   8位元組

6、float       4位元組

7、double      5位元組

8、long double 12位元組

7樓:匿名使用者

int 有符號整數,根據系統(編譯器)不同,有不同的範圍,16bits系統(dos系統):-(2^15)到(2^15-1),32bits系統:-(2^31)到(2^31-1),64bits:

-(2^63)到(2^63-1)。如果是無符號整數unsigned int,那麼16bits系統(dos系統):0到(2^16-1),32bits:

0到(2^32-1),64bits:0到(2^64-1)

float, double是浮點型和雙精度型,表示小數,區別是精度不同。

float為單精度浮點型,能準確到小數點後六位,3.4 x 10^(-38)~ 3.4 x 10^(+38)

double為雙精度浮點型,能準確到小數點後十二位,1.7 x 10^(-308)~ 1.7 x 10^(+308)

char為單位元組字元型,-(2^7)到2^7-1即-128到127。如果是無符號字元unsigned char,那麼是0到2^8-1即0到255

希望採納

c語言裡,double和int在開頭都是定義嗎?有啥區別

8樓:匿名使用者

double表示的是浮點數, 範圍大,但值是近似值。

int只能表示整型。

定義的話, 最原始的c要求 所有變數都要在**塊開頭定義不過後來放寬了 現在幾乎所有的編譯器 都是可以在函式中間定義變數了。

c語言的double 和int的區別,%d和%f的區別

9樓:南北浮生

int:整型,即我們通常意義下的整數變數,例如1、2、3、4、5等。

double:雙精度實型數,即我們通常意義下的小數,例如1.25、1.37、5.0等。

%d:這是c語言中scanf用於輸入整數的格式,輸入整數的格式是scanf("%d",&a)。

%f:這是c語言中scanf用於輸入小數的格式,輸入整數的格式是scanf("%lf",&a)。

在你的公式c=(f-32)*5/9計算結果應該為雙精度,不能用int來定義變數。如果強制賦型會導致資料丟失:小數部分會丟失,只保留整數部分。

雙精度浮點數(double)是計算機使用的一種資料型別,使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位制的15或16位有效數字,其可以表示的數字的絕對值範圍大約是:2.

23x10-308 ~ 1.79x10308。ieee754為其定製標準。

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。在32/64位系統中都是32位,範圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。

參考資料

10樓:墨軒

double是雙精度實型數(小數),int為整型,%d是輸出有符號的十進位制數,%f輸出實型數(小數),%lf輸出doule型資料,當用int代替double時,會發生資料丟失,也就是說小數部分丟失,只留下整數部分,希望可以幫到你!

11樓:匿名使用者

不能用int替換

設f為33.0,(f-32)*5/9的值為0.55。即c的值為0.55

如果用int型別,不能帶小數點後的數,所以c的值為0,結果是錯誤的。

只有當f-32為9的倍數時,就可以用int代替,否則會因為有小數導致結果出錯。

double是能記錄帶小數點的資料,int只能是整數。如果將小數賦值給int型資料,如6.3賦值給int,值為6,小數後的值被刪去了。

在scanf裡面,輸入整數的格式是scanf("%d",&a);輸入double數的格式是scanf("%lf",&f);

12樓:匿名使用者

因為所有的計算機語言,每個型別都向更精確的方向去自動轉。比如說,int能自動轉double型,但是倒過來就不行,必須強制轉。

13樓:匿名使用者

double就是小數,int是整數,%f是浮點數佔位符,要換成int整型的,要寫%d 不能是%f

C語言double和int有什麼區別,各個表示範圍是多少,d

區別 double雙精度浮點數,就是有小數點的數,並且範圍大於intint整型,只能表示整數 它們的範圍隨著機子不同而不同,如在32位機子和64位機子,它們是不同的。32位機int 2 31 2 31 和64位機int是不同的。double可以表示負數 它們是不同的區別 double雙精度浮點數,如...

c語言裡int與double是怎麼回事剛學

int 是整型變數 抄,double是雙精度浮點型 你這個計算,最好定義r,s,l用float或者double 否則,計算表示式3.14 r r相當於3 int r int r,變數會被捨棄小數取整再計算 不是四捨五入 include include int main int是整型,抄double是...

c語言主函式中任意輸入double型別的數值abc。然後呼叫自定義函式

這出題的老師,連一元二次方程 二元一次方程都混起來了。include include void fun double a,double b,double c if d 0 else int main include include 計算並輸出一元二次方程的根 void fun double a,do...