[英]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.x
或y
rect.x
為浮點,然后進行除法。 這將迫使整個除法運算在浮點中進行。
float result = rect.x/(float)y;
int rounded = ceil(result);
您需要強制轉換變量。
float result = (float)rect.x / (float)y;
int rounded = ceil(result);
您可以執行此操作而無需任何浮點類型。 如果x
和y
是正整數,則x除以y,四舍五入為(x+y-1)/y
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.