C語言中float型資料怎麼取整數部分演算法或取小數部分

2021-04-17 14:14:05 字數 3062 閱讀 5163

1樓:蟲心菜

分析如下:來

一種簡單的辦源

法是直接強制轉換到int型就是整數部分。減去這個int型就是小數部分了。

**如下:

float n=12.223;

int x=(int)n;

float y=n-(float)x;

得出的x為資料的整數部分,y為資料的小數部分。

拓展資料

浮點型資料型別,float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點數使用 ieee(電氣和電子工程師協會)格式。浮點型別的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 excess-127 二進位制指數和一個 23 位尾數。

尾數表示一個介於 1.0 和 2.0 之間的數。

由於尾數的高順序位始終為 1,因此它不是以數字形式儲存的。此表示形式為 float 型別提供了一個大約在-3.4e+38 和 3.

4e+38 之間的範圍。

2樓:捐你妹

一種簡單的辦法是直接強制轉換到int型就是整數部分。

減去這個int型就是小數部分了。

3樓:

float x=1234.567,z;

long int y;

取整數部分: y = (int) x;

取小數部分: z = x - y;

4樓:匿名使用者

float n=12.223;

int x=(int)n;

float y=n-(float)x;

5樓:匿名使用者

小數取整

#include

void main()

c語言中關於改變資料型別以提取float中的整數和小數部分

c語言 float型別保留幾位啊 怎麼確定

6樓:徜逸

float型別預設保留小數點後6位,若是要輸出一位或者其他位數,可以按照以下形式進專行輸出:

printf("%.(這裡輸入屬要輸出的位數)f",x);

如輸出一位:printf("%.1f",x);

c語言浮點型別的精確位數

例項#include

#include

int main()

7樓:匿名使用者

在c語言中來,float型別的資料預設保源留小數點後6位,不足6位的以0補齊,超過6位按四捨五入截斷。最多能保留7位有效數字,能絕對保證6位有效數字。

詳細可參考博文:網頁連結

**中的2.0其實就是2.000000,3.0其實就是3.000000,float型別的預設保留小數點後6位;

100/40結果應該是2.5,書中的2.0是側重和2.

5做區別,不是和2.000000做區別。同樣,下面的3.

0是要和3.14159做區別,而不是要和3.000000做區別。

所以,**中的2.0其實就是2.00000,3.0其實就是3.000000。

8樓:科技數碼答疑

float(也就是單精度浮點),預設有效位數7位。圖中的2.000000,有效數字就是7位

單精度,float,32位,有效位數為7位

雙精度,double,64位,有效位數15位

9樓:匿名使用者

%.2f就是保留小數點後兩位。數字代表保留幾位。

10樓:匿名使用者

i和j都是int型,兩個int型相除結果保留整數部分,即2,但是f是float型,結果保留6位

11樓:鄭原俊

以float型輸出時是保留小數點後6位

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

12樓:匿名使用者

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

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

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

13樓:匿名使用者

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

14樓:匿名使用者

float ftemp;

不要後面bai

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

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

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

那就給你吧!

#include

void main()

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

15樓:程式猿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語言中float資料轉換成字元型資料,如題

float變數4個位元組 32位 char變數1個位元組 8位 從float強轉到char,那隻會取float的低8位賦值給char 70000的二進位制內是 1 00010001 01110000,低8位是01110000,換成十進位制就是容112,查ascii表就知道112對應的是 p 了 c語...

C語言的浮點型怎麼轉換為整型c語言中將一個浮點型賦值給整型時,會不會四捨五入?

c語言中,浮點型轉換為整型可以用 強制型別轉換 自動型別轉換,例如 int 3.14 int a 3.14。1 強制型別轉換 強制型別轉換是通過型別轉換運算來實現的。其一般形式為 型別說明符 表示式 其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。例如 double a 把a轉換為雙精度...

c語言中怎麼用C語言中怎麼用

最近 盤 字很流行,盤是什麼意思?為什麼能成為網路熱詞?結果是3 解答過程 自 首先算a b 表示異或 十進位制a 1,等於二進位制0001 十進位制b 2,等於二進位制0010 異或為對應位不同時取真,故0001 0010結果為0011,即為十進位制的3 再算 a b c 表示按位與,a b的結果...