1樓:匿名使用者
可以。 如:
double a=1.2;
int b;
b=a; b=1;//取整了
int a=1;
double b;
b=a; b=1.00000
(1)double(雙精度浮點型)是計算機使用的一種資料型別。比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存乙個浮點數。
(2)int是將乙個數值向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別乙個數能否被另乙個數整除。
c語言的double 和int的區別,%d和%f的區別
2樓:南北浮生
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。
參考資料
3樓:墨軒
double是雙精度實型數(小數),int為整型,%d是輸出有符號的十進位製數,%f輸出實型數(小數),%lf輸出doule型資料,當用int代替double時,會發生資料丟失,也就是說小數部分丟失,只留下整數部分,希望可以幫到你!
4樓:匿名使用者
不能用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);
5樓:匿名使用者
因為所有的計算機語言,每個型別都向更精確的方向去自動轉。比如說,int能自動轉double型,但是倒過來就不行,必須強制轉。
6樓:匿名使用者
double就是小數,int是整數,%f是浮點數佔位符,要換成int整型的,要寫%d 不能是%f
c語言中int型與double型能進行換算加減乘除嗎
能進bai行,不會錯,系統實際會把du參加運zhi算的所有變數轉換為double後進dao行計算專,只要表示式屬裡面有乙個float或者double的量,例如 int i 1 float x 5,y y x i 執行的時候系統會把x和i都轉換為double進行計算,最後的結果再儲存為y的double...
c語言裡,double和int在開頭都是定義嗎?有啥區別
double表示的是浮點數,範圍大,但值是近似值。int只能表示整型。定義的話,最原始的c要求 所有變數都要在 塊開頭定義不過後來放寬了 現在幾乎所有的編譯器 都是可以在函式中間定義變數了。c語言double和int有什麼區別,各個表示範圍是多少,double可以表示負數嗎 區別 double雙精度...
在C語言中,怎麼判斷變數是int型的還是char型的
變數是int型的還是char型,是由宣告決定的。函式呼叫時引數型別錯,你編譯時就通不過呀。unsigned char 可以當無符號整型用。假設函式形式為 int function int n 方法1 判斷實參字長 int function int n 在c語言裡有個函式可以判斷輸入的是不是數字或者字...