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.方法...