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語言中將一個浮點型賦值給整型時,會不會四捨五入?
6樓:幻翼高達
c語言中將一個浮點型賦值給整型時,不會四捨五入,會直接捨去小數部分的資料,也可以認為是執行了下取整運算。
將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:
賦值時的型別轉換實際上是強制的。
例如執行賦值後,無論5.4還是5.6都會變成5。
7樓:_夢幻陽光
不會的,不過可以寫一個函式自己轉換啊
#include
int fun(float x)
int main()
列印的為3和4,c語言很靈活的,樓主想要什麼幾乎都能實現
8樓:匿名使用者
不會的,如int x; 如果有 x=4.78; 則x的值是4
9樓:匿名使用者
不會,後面的小數就直接沒了,只有整數部分了
採納我哦
10樓:匿名使用者
不會的啦,整型的話,1/2=0,而不是0.5或者1,但整型變成浮點型要強制型別轉換,不知這麼解釋明白不。?
11樓:龍__鳳
不會的,看程式的執行結果:
12樓:路過
你好,不會的。浮點型資料賦給整型時,浮點型就會被自動轉換成整型,整型只是整數部分。
希望能夠幫到你。
13樓:匿名使用者
不會,一般是給你強轉成整形了,小數位就沒了,四捨五入是不存在的
14樓:匿名使用者
不會,只會把整數部分賦給整型變數
15樓:匿名使用者
不會,比如float a=4.45 那麼 printf("%d",a);輸入為4,直接把小數點後面的數刪去,不是四捨五入
c語言浮點型轉換為整型怎麼轉換的?
16樓:匿名使用者
第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。
第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。
如有其他特殊要求,則需要程式設計解決。
17樓:匿名使用者
c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值
18樓:匿名使用者
float ftemp;
不要後面bai
的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給
回的,因為空答間已經被佔用。這不是a=b+c這樣表示式的賦值。
暈,難道要我把源**給你你直接複製?
那就給你吧!
#include
void main()
隨便輸入一個數,然後回車,看結果
19樓:程式猿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型別保留幾位啊 怎麼確定
20樓:徜逸
float型別預設保留小數點後6位,若是要輸出一位或者其他位數,可以按照以下形式進專行輸出:
printf("%.(這裡輸入屬要輸出的位數)f",x);
如輸出一位:printf("%.1f",x);
c語言浮點型別的精確位數
例項#include
#include
int main()
21樓:匿名使用者
在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。
22樓:科技數碼答疑
float(也就是單精度浮點),預設有效位數7位。圖中的2.000000,有效數字就是7位
單精度,float,32位,有效位數為7位
雙精度,double,64位,有效位數15位
23樓:匿名使用者
%.2f就是保留小數點後兩位。數字代表保留幾位。
24樓:匿名使用者
i和j都是int型,兩個int型相除結果保留整數部分,即2,但是f是float型,結果保留6位
25樓:鄭原俊
以float型輸出時是保留小數點後6位
c語言中的float資料型別的有效數字為什麼是67位
float資料 機器內是2進位制數,1位符號位 8位指數位 23位 尾數 位 共32 位 2進位制數。平時講 有效數字 是6 7位 指10進位制。通常程式輸入的數是10進位制,進入機器後要化成2進位制,計算完又轉十進位制輸出。10進位制到2進位制,2進位制到10進位制 轉換,有的數化不淨,有的數化得...
C語言中不同資料型別在記憶體中所佔據的位元組大小是多少
型別 位元組 char 1short int 2int 2 tc 4 vc long 4float 4double 8long double 10 c語言中不同資料型別在記憶體中所佔據的位元組大小 型別 位元組 char 1short int 2int 2 tc 4 vc long 4float 4...
c語言多種資料型別混合輸入,C語言多種資料型別混合輸入
用字串就輸出了!比如 int main void 這樣輸入的只要是可顯示字元就都能輸出了 c語言中,每一種輸入控制符可以用來輸入哪種資料型別?a,a 讀入一個浮點值 僅c99有效 c 讀入一個字元 d 讀入十進位制整數 i 讀入十進位制,八進位制,十六進位制整數 o 讀入八進位制整數 x,x 讀入十...