1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Типы данных

Тема в разделе "Java", создана пользователем Cadet, 17 мар 2010.

Статус темы:
Закрыта.
  1. Cadet

    Cadet Гость

    Репутация:
    0
    Объясните пожалуйста, почему так, и как этого избежать!


    Код (Text):
    for (double i=0; i<0.8; i+=0.2)
    System.out.println(i);
    При выводе результатов этого цикла получаю следующее:

    0.0
    0.2
    0.4
    0.6000000000000001

    Непонятен результат последнего выполнения цикла.
     
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.434
    Симпатии:
    39
    Кадет, чему вас учили на предмете "Микропроцессорная техника". Ну или как-нибудь так. Почитайте где-либо про округление! Не зачет кадет.
     
  3. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    8
    накапливающаяся ошибка при вычислениях с плавающей точкой. Эти вычисления НЕ точные.
    точность указывается для каждого типа данных.
    форматируйте при выводе или округляйте, пользуйтесь умножением вместо n сложений (меньше накапливается ошибка) - смотря что Вам надо...

    Добавлено: вот тут почти всё сказано:
    http://codeby.net/forum/threads/31867.html?vi...st&p=147829
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей