c語言中為什麼6 5 4 2等於5?

時間 2021-06-02 03:28:29

1樓:喲呵呵

你把5/4,寫成5.0/4 或者 5F/4看看,4同理。

這其實是乙個計算精度轉換的問題。

在C語言中,計算結果的精度取決於參與計算的數的最高精度。

簡單說,

1、高精度與高精度計算得到的結果是高精度的。

2、低精度與低精度計算得到結果是低精度的。

3、低精度與高精度計算得到結果是高精度的。

記住以上三點你就知道為什麼5/4等於1而不是1.25了

2樓:逸晨

因為邏輯運算先乘除後加減,所以先是5/4,至於除后為什麼沒有小數,那是因為你的資料型別不是用的浮點數表達,所以這個小數點後不顯示,直接是1,答案自然是5。

3樓:小小猿筆記

因為C語言預設是向下取整的,也就是兩個數相除之後的值是不超過這個數的最大整數,比如:1.25向下取整就是1,1.99向下取整還是1。

4樓:小腳色

問題出現在5/4這個位置,正常的數學中會得到1.25,但對於程式來說,兩個數都是int型的,那得到的結果就也是int型的,也就是5/4的整數部分。如果你想得到精確一點的值的話,你可以把5/4這個部分改成5.

0/4或5/4.0。

為什麼c語言中 3 4等於0而不是 1?

冒泡 標準規定的,整數型別的除法結果是整數,向0的方向取整 3 4 0.75,往0的方向第乙個整數就是0,所以取0C早期並不是這樣做的,那時候這個行為是implementation defined,後面在C99才確定下來 其他語言也不一定是這樣,比如Python就規定向負無窮的方向取整 白板板同學 ...

0 1等於0是為什麼?

想要飛的小空空 這個問題問得好,說明你已經學會思考了。先從乘法的定義來說 那就是0個1相加,或者1個0相加,這樣怎麼說結果不都是0麼。學習要知其然知其所以然。從定義出發,想想看定義為什麼要這樣定義呢? 天色 乘法的本質是加法。1 0的定義是1個0相加,或者0個1相加。所以等於0。任何數 1,定義就是...

為什麼1加1等於二?

已登出 問出這個問題看你年齡也應該不大應該和她沒到結婚那個時候吧,你不應該留住她,即使你把她當小公主你當舔狗暫時留住了她,你留住她的人也留不住她的心,你知道你得付出多大代價才能在她遇到那個令她心動臉紅的人的時候放棄他而選擇你嗎?那樣對你也太殘酷了,除非你是那種身家過億的或者清北學神或者有幾個方面令她...