簡體   English   中英

C ++整數除法

[英]c++ integer division

說我有

SDL_Rect rect;
rect.x = 5; // rect.x is of type "Uint16"
int y = 11;

我想執行rect.x/y操作。

我想將結果作為浮點數,然后四舍五入到最接近的int

像這樣:

float result = rect.x/y;
int rounded = ceil(result);

我應該怎么做?

rect.xy rect.x為浮點,然后進行除法。 這將迫使整個除法運算在浮點中進行。

float result = rect.x/(float)y;
int rounded = ceil(result);

您需要強制轉換變量。

float result = (float)rect.x / (float)y;
int rounded = ceil(result);

您可以執行此操作而無需任何浮點類型。 如果xy是正整數,則x除以y,四舍五入為(x+y-1)/y

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM