Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

2х2

Оказывается, станочек может пропускать шаги например потому, что 2×2 не всегда равно 4. Точнее даже, 2×2 не всегда равно 2×2. А ещё точнее - (int)((double)A+(double)B*(double)0.0) может отличаться от другого такого же (int)((double)A+(double)B*(double)0.0) аж на целую на единицу (при неизменных A и B, естественно). Что характерно, ошибкой это не является, и вполне допустимо по стандарту, и наоборот - ошибкой является написание программы в предположении что 2×2 всегда в точности равно 2×2.

Собственно, что 2.0*2.0 может отличаться от 4.0 в каких-то далёких знаках после запятой, и сравнивать их в лоб нельзя, мы уже проходили - но это всегда воспринималось как пренебрежимо малые погрешности вычислений, которые в большинстве практических ситуаций - кроме собственно сравнения - можно игнорировать. Но если результат округляется до целого, а исходное значение окажется близко к порогу округления, то эта погрешность может вылезти уже не "в далёком знаке", а как лишняя или пропавшая вполне осязаемая единичка. Как я это отлавливал на реальной программе управления станочком - тема отдельная... :-)
Subscribe

  • 007

    Сходили таки на последнего Бонда. Неплохо так, значительно лучше чем предыдущий ("спектр"), из тех что с Крейгом наверное на уровне "скайфолла". Я…

  • мы все под колпаком у колобков!

    Сегодня я узнал, что "шефа" (старшего Колобка в м/ф "следствие ведут Колобки") озвучивал Леонид Броневой - ну то есть Мюллер из "семнадцати мгновений…

  • трейдеры!

    Есть кое-что, что меня больше всего умиляет в текущей ситуации с ценами на газ в Европе (кто не в курсе - не так давно они выросли в несколько раз, и…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments

  • 007

    Сходили таки на последнего Бонда. Неплохо так, значительно лучше чем предыдущий ("спектр"), из тех что с Крейгом наверное на уровне "скайфолла". Я…

  • мы все под колпаком у колобков!

    Сегодня я узнал, что "шефа" (старшего Колобка в м/ф "следствие ведут Колобки") озвучивал Леонид Броневой - ну то есть Мюллер из "семнадцати мгновений…

  • трейдеры!

    Есть кое-что, что меня больше всего умиляет в текущей ситуации с ценами на газ в Европе (кто не в курсе - не так давно они выросли в несколько раз, и…