c語言如何把整型轉換成浮點數,C語言如何把整型轉換成浮點數?

時間 2021-09-11 22:33:35

1樓:程式猿3號

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種方法採用的是捨去小數部分,能用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

2樓:匿名使用者

型別強制轉換運算子 ( ) 沒學過嚒

(目標型別)現有型別

3樓:鄒棋

#include

main()

方法類似

c語言 怎樣將無符號整型轉換成浮點型

4樓:匿名使用者

c語言中來

無符號整型轉源換成浮點型方法bai

如下:unsigned int x=123;

1、輸出強制轉換,du如:

printf("%f", x ); //這樣的輸出因為zhi%f與x的類dao型不同,導致輸出資料異常

printf("%f", (float)x ); //強制轉換成浮點型,可正確輸出

2、儲存到相應的變數中,如:

float fval;

fval=x ; //系統會隱式轉換 因float的有效數位最大為7位,所以,並不是所有整數都可以用float型別變數來表示,所以,最好使用double型別來儲存任意的整數

printf("%f", fval ); //輸出正常double dval;

dval=x ; //系統會隱式轉換

printf("%f", dval ); //輸出正常

5樓:匿名使用者

使用強制型別轉換,如:

int a;

(float)a就表示把int型別的a強制轉換成float型。

但是a一旦定義成int型,就不能改變a自身的資料型別。

6樓:谷歌三下也知道

一個最簡單的轉換例子,希望能版

幫到你權

#include

void main()

c語言浮點型轉換為整型怎麼轉換的?

7樓:匿名使用者

第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。

第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。

如有其他特殊要求,則需要程式設計解決。

8樓:匿名使用者

c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值

9樓:匿名使用者

float ftemp;

不要後面bai

的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給

回的,因為空答間已經被佔用。這不是a=b+c這樣表示式的賦值。

暈,難道要我把源**給你你直接複製?

那就給你吧!

#include

void main()

隨便輸入一個數,然後回車,看結果

10樓:程式猿3號

c語言復有以下幾種取整方法:

1、直接制賦值給整bai

數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種du方法採用的zhi是捨去小數部分,能dao用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

c語言的浮點型怎麼轉換為整型?

11樓:幻翼高達

c語言中,浮點型轉換為整型可以用:強制型別轉換、自動型別轉換,例如:(int)3.14、int a = 3.14。

1、強制型別轉換

強制型別轉換是通過型別轉換運算來實現的。其一般形式為:(型別說明符)(表示式),其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

例如: (double) a 把a轉換為雙精度浮點型,(int)(x+y) 把x+y的結果轉換為整型。

2、自動型別轉換

(1)執行算術運算時,低型別(短位元組)可以轉換為高型別(長位元組);例如: int型轉換成double型,char型轉換成int型等。

(2)賦值表示式中,等號右邊表示式的值的型別自動隱式地轉換為左邊變數的型別,並賦值給它。

(3)函式呼叫時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的型別轉換為形參的型別,然後再賦值給形參。

(4)函式有返回值時,系統首先會自動隱式地將返回表示式的值的型別轉換為函式的返回型別,然後再賦值給呼叫函式返回。

12樓:程式猿3號

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種方法採用的是捨去小數部分,能用於你的問題。

2、c/c++中的整數除法運算子“/”本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

13樓:步成文赤豪

c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值

14樓:匿名使用者

float ftemp;

不要後面的=0;因為一旦你分配給ftemp了值,它是無法通過鍵盤寫入的方式

賦給的,因為空間已經被佔用。這不是a=b+c這樣表示式的賦值。

暈,難道要我把源**給你你直接複製?

那就給你吧!

#include

void main()

隨便輸入一個數,然後回車,看結果

15樓:匿名使用者

可通過強制型別轉換或賦值過程中自動轉換。

強制型別轉換。c語言提供強制型別轉換符,其可表示為(型別),該操作符具有從右向左的結合型,用法示例為“(型別)變數”,則對應變數被轉換為括號中 的型別,因此想把浮點型轉換為整型時,括號中使用int即可:

如果直接把浮點型變數賦值給整型,其會自動轉換為整型:

但是注意當float型變數轉換為整型時,小數部分被捨棄,但不會遵循四捨五入的原則,如果浮點型別的值過大,超過整型所能容納的範圍,則結果是不確定的。

c語言中怎麼把整形轉化成浮點型,就是我用的時候要用小數進行運算?

16樓:匿名使用者

強制轉換就行了。

int a,b;(float)a這樣就轉換成了浮點型。

一個例子:(float)a+(float)

17樓:匿名使用者

強制型別轉換 (double)(要轉換的數)

18樓:

強制型別轉換

int a;

float b;

b=((float)a)/3;

在c語言中,如何將一個浮點數變換成整數?

19樓:幻翼高達

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

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

2、在test.cpp檔案中,輸入c語言**:double a = 2.71828;printf("%d", int(a));。

3、編譯器執行test.cpp檔案,此時成功將浮點數2.71828轉換為了整數2。

20樓:

在c語言中,將一個浮點數變換成整數的示例:

main()

float f=5.75;

printf("f=%d,f=%f\n",(int)f,f);

執行程式,輸出結果為f=5,f=5.750000。 f=5即為由浮點數轉化出的整數。

上述示例中f雖強制轉為int型,但只在運算中起作用, 是臨時的,而f本身的型別並不改變。因此,(int)f的值為 5(刪去了小數)而f的值仍為5.75。

擴充套件資料

c語言中賦值中的型別轉換規則

當賦值運算子兩邊的運算物件型別不同時,將要發生型別轉換, 轉換的規則是:把賦值運算子右側表示式的型別轉換為左側變數的型別。具體的轉換如下:

(1) 浮點型與整型

將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:

賦值時的型別轉換實際上是強制的。

(2) 單、雙精度浮點型

由於c語言中的浮點值總是用雙精度表示的,所以float 型資料只是在尾部加0延長為double型資料參加運算,然後直接賦值。double型資料轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。

(3) char型與int型

int型數值賦給char型變數時,只保留其最低8位,高位部分捨棄。

char型數值賦給int型變數時, 一些編譯程式不管其值大小都作正數處理,而另一些編譯程式在轉換時,若char型資料值大於127,就作為負數處理。

對於使用者來講,如果原來char型資料取正值,轉換後仍為正值;如果原來char型值可正可負,則轉換後也仍然保持原值, 只是資料的內部表示形式有所不同。

浮點數強制轉換成整型為什麼只取整數部分

float f 3.6712 int i,j i int f 取整 只保留整數部分 這個是c語言規定,沒有什麼好解釋的。j int f 0.5 四捨五入 浮點數可以儲存小數部分,整數只能儲存整數,float a 0.123 int b 0 b int a 這樣整型變數只能取a的整數部分,如果你想把浮...

he檔案轉換成c語言,hex檔案轉換成C語言

吉祥二進位制 檔案有兩種,一種是文字檔案,一種是程式二進位制檔案,不管哪種檔案都可以用十六進位制編碼來顯示,稱為hex檔案。1 文字hex檔案一般不需要轉成c語言,更多的是程式二進位制檔案,用十六進位制顯示,可以轉換成c語言,一般使用相應的反彙編程式來實現,這方面的工具很多,不同的平臺略有不同。wi...

關於浮點數在C語言中的儲存問題,C語言實型 浮點型 資料在記憶體中的存放形式

寫c 2.468f就可以。浮點數常量預設是double型。你直接寫2.468會強轉型。c語言實型 浮點型 資料在記憶體中的存放形式 實數分為float型和double型,它們分別對應ieee 754標準中的單精度浮點數和雙精度浮點數型別,在記憶體中的儲存形式遵守ieee 754浮點數標準。以floa...