關於C 取整,C語言有哪些取整函式?

2022-07-03 11:10:09 字數 3985 閱讀 8524

1樓:幻夢·人生

你說的好複雜啊。聽不懂。

float 和int指的是儲存資料的方式。不是定義資料

float是分為兩個部分,一個部分用來數字,一個部門用來記小數點的位置

也就是科學計數法的一種。

int沒有記小數點的部分,所以只能記整數。

float b (11);就是數字為11,小數點的位置是第二個數字之後。

a = b / 4; 由於a就是int,無法儲存小數點的位置。所以只能儲存整數,系統自動將小數點後面的數字取消了。

a / 4的取整問題是這樣的。如果運算子兩邊都是整數的話,返回值就是整數。如果運算子一邊是float型別資料的話,結果就是float型別。求加分

2樓:夜神月

11本身是一個int型,但是通過float b(11);後變成了float,因為中間發生了型別轉換

因為b是float型,所以b/4也是float型的 而a是int的

所以a = b / 4; 是不對的

具體有一個規則:

int>>float>>double >>表示可轉換為2個型別的數作運算,取轉換規則中最右的那個型別。

即 int=int/int float=int/float double=double/int (僅用除法舉例)

如果 int a=11; int b=a/4;

那麼 b=2;

如果 float a=11; float b=a/4;

那麼 b=2.75

3樓:

在c++中整數/整數所得的結果一定是整數。只有當浮點數(float)/浮點數或者是浮點數/整數或者整數/浮點數時,所得的結果是浮點數,這裡浮點數的意思你只要理解成是小數,上面因為a是定義成整數的,因此a/4結果一定是整數,即使,當a=11,11/4本來應該是小數的,系統也會自動將其取整,另外建議你去看一本基礎的c的書吧,你疑惑的問題都是c中最基礎的問題,c和c++語法的基礎部分差不多,看了c的書,在看c++的程式會很好理解的

4樓:彤樂怡矯智

c++中餘數運算(%)僅限於整數。這種小數除以整數的情形,原本就不該用%...還是先浮點除,商取整,再(被除數-商*除數)=餘數吧。

5樓:quiet獅子

你那個括號什麼意思啊?

c語言有哪些取整函式?

6樓:匿名使用者

除樓上的回答之外,還有round(x)返回x的四捨五入的整數值

7樓:匿名使用者

常用(int)x對x取整,而int(x)是c++中的用法,或者直接賦給int型變數,但如果是負數會產生誤差

8樓:匿名使用者

ceil和floor

floor(x),有時候也

寫做floor(x),其功能是「下取整」,或者說「向下舍入」,即取不大回於x的最大整

答數(與「四捨五入」不同,下取整是直接去掉小數部分),例如:x=3.14,floor(x)=3 y=9.99999,floor(y)=9

ceil是向上取整,例如:x=3.14,ceil(x)=4

c++中進行四則運算時怎樣才能不自動取整啊?

9樓:沈慎莘

變數定義不要使用int、long 這樣表示整數的型別,

使用float、double 之類的表示浮點型的型別

10樓:鼻兒眼睛花

這個簡單啊,全部定義成浮點型。。。

11樓:匿名使用者

1/2 結果取整為0

1.0/2結果不取整 為0.5

你只要用小數做運算就行了.

或者這種 1.0*a/b

在 c語言中 取整 , 求餘的符號各是什麼?

12樓:竟然沒名字用了

如果運算元是整數,那麼就是整除,否則就是浮點除,求餘的符號是%。

1、通常情況下取模運算(mod)和求餘(rem)運算被混為一談,因為在大多數的程式語言裡,都用'%'符號表示取模或者求餘運算。在這裡要提醒大家要十分注意當前環境下'%'運算子的具體意義,因為在有負數存在的情況下,兩者的結果是不一樣的。

2、求模運算和求餘運算在第一步不同: 取模求餘運算在取c的值時,向0 方向舍入(fix()函式); 而求餘取模運算在計算c的值時,向無窮小方向舍入(floor()函式)。

3、當a和b符號一致時,求模運算和求餘運算所得的c的值一致,因此結果一致。但是當符號不一致的時候,結果不一樣。具體來說,求模運算結果的符號和b一致,求餘運算結果的符號和a一致。

4、在c語言中,%符號表示的是求餘運算,在python指令碼中,%表示的是取模。

13樓:花開春未

void main()

14樓:傲世修羅王

沒有取整符號,你說的可能是整除吧,是/,如果運算元是整數,那麼就是整除,否則就是浮點除,求餘的符號是%

15樓:匿名使用者

取整「/」

求餘「%」

16樓:會飛翔的豬

取整:\

求餘:%

除號:/

c/c++負浮點數取整為什麼沒有向下取整?

17樓:匿名使用者

編譯器進行取整就是直接去掉小數位,沒啥向上向下的

18樓:周生

因為取整的時候就是把小數位抹掉,不關正負

19樓:匿名使用者

#include

void main()

20樓:匿名使用者

取整就是隻取整數部分,不會向上或向下取的。

floor這個函式用來向下取,它是個double型的。

21樓:

一般情況下是向0靠近。

取靠近0的整數

c語言中「/」運算子是取整運算子嗎?

22樓:終極至尊粉

printf("%f,%f

",10.0/3,-10.0/3);}雙目運算具有左結合性。

參與運算量均為整型時, 結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。 printf("%d,%d

",10/3,-10/3);

printf("%f,%f

",10.0/3,-10.0/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) = 2

floor和ceil對於正數沒有區別,但是對於負數結果不同。floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.

5) = -2。

23樓:昆吾語夢

0.0/3,-10.0/3);}雙目運算具有左結合性。參與運算量均為整型時, 結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型

c語言有哪些取整函式?

c語言中是否有函式直接取整,C語言取整函式

c語言有以下幾種取整方法 1 直接賦值給整數變數。如 int i 2.5 或 i int 2.5 這種方法採用的是捨去小數內部分 2 c c 中的整數除容法運算子 本身就有取整功能 int int 但是整數除法對負數的取整結果和使用的c編譯器有關。3 使用floor函式。floor x 返回的是小於...

asp取整函式int奇怪的問題,ASP 取整函式

微軟有病,你知道下面的程式結果是什麼嗎?int int 23 268 int int 2.3 2680 int int 0.23 26800 輸出結果是 int 6164 int 6163 int 6164 為什麼2.3 2680進行int取整會被吃一個?這裡提出一個問題,使用int fix對表示式...

SQL AVG函式取整問題

什麼資料庫?mssql update a set b cast 1.522 as int 小數會全部舍掉,四捨五入的話就用roundupdate a set b round 1.522,0 oracle中的語bai句 du 還有一zhi個連結,您可 dao以參考專一屬下 http zhidao.方法...