0

私が持っていると言う

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);

どうすればいいですか?

4

3 に答える 3

4

rect.xorをfloatにキャストyしてから割り算をします。これにより、除算操作全体が浮動小数点で行われます。

float result = rect.x/(float)y;
int rounded = ceil(result);
于 2012-11-15T04:42:56.300 に答える
0

これは、浮動小数点型がなくても実行できます。xとが正の整数の場合y、x を y で割った値を切り上げて です(x+y-1)/y

于 2012-11-15T04:48:42.793 に答える
0

変数をキャストする必要があります。

float result = (float)rect.x / (float)y;
int rounded = ceil(result);
于 2012-11-15T04:43:21.153 に答える