Что происходит при преобразовании double (или чисел с плавающей запятой) в целые числа?

Я практикую простое программирование 2D-игр и придумал теорию, согласно которой во время анимации (фактическое изменение положения изображения лучше всего рассчитывается с помощью чисел с плавающей запятой). У меня такое ощущение, что если вы перемещаете изображение с помощью int, анимация будет не такой гладкой.

В Java кажется, что вы не можете нарисовать изображение с числами с плавающей запятой, чтобы задать положение изображения.Но, очевидно, когда вы изначально объявляете свои x и y , вы можете объявить их как Double или Float, и когда дело доходит до рисования изображения, вы должны преобразовать их в цел. Как я нахожу ЗДЕСЬ : ​​

    /**
 * Draw this entity to the graphics context provided
 * 
 * @param g The graphics context on which to draw
 */
public void draw(Graphics g) {
    sprite.draw(g,(int) x,(int) y);
}

Мой вопрос о том, как Java обрабатывает преобразование? Если код генерирует эти двойники в последнюю минуту, почему они вообще были двойниками? Скрывает ли Java числа после десятичной дроби?

Я знаю, что в C и C ++ числа после десятичной дроби обрезаются, и вы видите только то, что перед ней. Как Java обрабатывает это преобразование?

6
задан mastrgamr 2 November 2011 в 19:35
поделиться