C語言中什麼運算只取整數部分,什麼時候不但取整,還要四捨五入發現C語言中很多時候不用四捨五入

2021-03-27 09:20:26 字數 3312 閱讀 5805

1樓:夢羽天堂

取整要看型別的自動轉換了,,比如a和b都是整形資料,那麼a/b的結果就一定是整形。結果就取整數部分,如果其中有一個是浮點型,那麼結果就是浮點型,但是不會四捨五入,如果需要四捨五入那麼應該寫成a/b+0.5.

自動轉換的順序是char,short,int,float,double,越往後優先順序越高

2樓:狂

取整的話 還是要看資料型別的 int型別的除法就是取整的

至於四捨五入什麼的 沒有專門的規定 可以自己處理一下即可

3樓:匿名使用者

定義int的時候就取整了

4樓:匿名使用者

c語言裡面都沒有四捨五入。的都是隻取整數部分。

5樓:鬼火狼煙

到底需要四捨五入還是直接取整不是程式說了算了,是根據實際情況說了算的這個要看你需要的結果了

比如說double x=1.3;

printf("%d",int(x)) 取整printf("%d",int(x+0.5)) 四捨五入

在c語言中,相除後取整的時候,我記得有些需要四捨五入,有些直接取整數部分,分別是哪些情況?

6樓:匿名使用者

round()函式會四捨五入。

簡單的除法運算沒有四捨五入,如果兩個整數相除,那麼商也保留整數部分,而且是直接擷取整數部分,不四捨五入,浮點數相除,會返回準確的商。

7樓:匿名使用者

到底需要四捨五入還是直接取整不是程式說了算了,是根據實際情況說了算的這個要看你需要的結果了

比如說double x;

printf("%d",int(x)) 取整printf("%d",int(x+0.5)) 四捨五入

8樓:華師來的

int i=1;

int j=2;

float k=1;

float s;

s=i/j;//此時s=0.0

s=k/j;//這時s=0.5;

c語言中 兩個整形變數相除的結果是不是隻取整數部分 不用四捨五入嗎??

9樓:魂鬥水下八關

所謂的整形,就是取整數部分。 如果a=3.98 則 int a=3。a=58.49,則 int a=58。取整隻看整數部分取值,而不是四捨五入哦!

10樓:匿名使用者

是的,比如 10 / 3 的結果是 3,而不是3.33333

如果是 10.0 / 3,結果就是3.33333

c語言中,為什麼(int)f結果為5,小數點後面不需要四捨五入嗎,什麼時候需要四捨五入,什麼時候要?

11樓:醫藥資料庫

c語言對浮點數f的強制轉換為int,是直接取整數數部分,不會四捨五入。

如果要實現四捨五入的功能的語句應該是 int (f+0.5)

c語言中數值轉換什麼時候需要四捨五入,什麼時候不需要?如3.1415926轉換成%f就是3.141

12樓:匿名使用者

1、實型內部之間的轉換要四捨五入(例如雙精度強制轉換成單精度就要),如果實型轉整型的話專,就直接去屬掉小數部分就行了。

2、實數1234567.89賦值給單精度浮點型變數值怎麼又成為1234567.80,原因是float的有效位為前七位,從第八位起,得到的資料都是不準確的。

c語言中 兩個整形相除是不是自動四捨五入?

13樓:四舍**入

所謂的整形,就是取整數部分。

如果a=3.98,則 int a=3。a=58.49,則 int a=58。取整隻看整數部分取值,而不是四捨五入。

c語言中,一般而言整型數是雙位元組,所以:

有符號型:最大 32767,最小 -32768無符號型:內最大 65535,最小 0

但對於c++,面對32位機時,整型容數變成了雙字,所以:

有符號型:最大 2147483647,最小 -2147483648無符號型:最大 4294967295,最小 0

14樓:匿名使用者

不是四捨五入,而是截斷小數,只取整數部分,也就是整除。。

比如 18/10 的結果是 1,而不是 1.8 四捨五入之後的 2。。

15樓:暴風一號

不是,只有浮點才會

例如:printf("%d",5/2); 就會輸出2 而不是3(四捨五入:5/2 = 2.5 四捨五入後就是3)

16樓:匿名使用者

不是四捨五入,比如1/2 結果為0(實際為0.5,怎麼可能是四捨五入?)。

兩個整形數相處(確保除數不為0),結果的型別還是整形integer(即int),還是1/2,數學上為0.5,那麼按照整形型別向0靠近則為0。15/2為7,數學上為7.

5,是同一個道理~

17樓:你丶好

不夠的部分是直接捨去的

c語言取整是4舍5入?還是截斷取整

18樓:匿名使用者

答:c語言取整是截斷取整,所以若計算5.95則取整為5。

19樓:匿名使用者

利用取整運算的截斷特點實現。

比如:int a=0.75;取整後賦值給a的是0,小數點後面的被截斷了。

如果要做整數的四捨五入,那麼可以:a=(int)(0.75+0.5);取整後得到的與數學中四捨五入的結果一致,都是1;

如果要進行小數點後面的四捨五入,可以這樣計算:

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756

float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;

運算是這樣的:先將0.756乘以100,得到75.

6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.

1取整後等於76,再除以100,得到結果:0.76

20樓:丶無雙

你是說小數點之後的數嗎?今天我剛聽課,不知道說的對不對哈。

如果沒有定義doubule類的話,好像是直接取整的。小數點後面的數直接捨棄啊。

21樓:

floor函式與轉換型別為int都是截斷取整(向下取整)。

ceil函式是向上取整。

四捨五入的話可以寫成floor(x+0.5)

c語言中整數和整型有什麼不同,C語言中,整型常量和長整型常量,有什麼區別

整型bai常量就是平 時算術上寫du的沒有小數zhi點的整數,由阿拉伯數字dao1234567890組成,整型常量包括正回數答負數和0。常量是說從程式開始到結束,數值始終保持不變的量。整型變數用變數名字表示。整型變數的數值從程式開始到結束可能變化,例如運算和輸入。類似代數裡的x,y,z.所有程式語言...

c語言中邏輯運算子的規則是什麼C語言中邏輯運算子的規則是什麼

1 邏輯運算子運算規則 或 比 如兩個條件中,只要有一個成立,則結果就成立 與 比如兩個條件中,兩個同時成立,則結果成立,否則不成立 非,就是取反之意,如果是真,結果是假,如果是假,結果是真。2 邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0...

c語言中取餘數運算子,結果的符號是正數還是負數

取決於不同的編譯器,一般來說與被除數的符號相同。如圖 c語言程式中無符號數a的值是負數,為什麼作整形輸出時的結果是64870?負數在記憶體中是以補碼的形式儲存的,即 666 原碼 1000 0010 1001 1010 反碼 1111 1101 0110 0101 符號位不變,其它位取反 補碼 11...