Ашкинази Леонид Александрович
Сколько будет?

Lib.ru/Фантастика: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь]
  • Оставить комментарий
  • © Copyright Ашкинази Леонид Александрович (leonid2047@gmail.com)
  • Обновлено: 29/11/2005. 2k. Статистика.
  • Рассказ: Фантастика Вещи
  •  Ваша оценка:
  • Аннотация:

  • Я - программист.
    
    Приходит как-то ко мне клиент, написал, говорит, программку, хотелось
    бы посчитать. Беру. Программа небольшая. "Что, - спрашиваю, - она должна
    выдавать?" "Да немного, - говорит, - одно число". Смотрю в программку -
    каменный век. Эпоха ручного рубила. Учились, спрашиваю, сами? Опустил
    клиент глаза и говорит: по книжкам.
    
    Засадил я этот бред на следующий день в машину, она помигала с минуту
    и напечатала 0.40000023Е01. В переводе на русский язык - это
    4,0000023. Странное, однако, число. Не ошибка ли счета набежала? Все ж
    машина, смотрю, шестьдесят девять с хвостиком секунд трудилась, а она,
    между прочим, у нас не на счетах косточки кидает. Семьдесят секунд
    времени процессора - это почти сто миллионов операций. Посчитал с
    двойной точностью. Выдала 0.40000022Е01. Ну что же, вполне разумное
    уточнение. Значит, не ошибка вычисления.
    
    Забавным мне это показалось, стал я в программе разбираться. Понятно
    ведь, что у неизвестно какой задачи ответ может быть любым. Но если он
    от целого числа на две миллионные отличается, то возникает
    естественное подозрение, что ответ и должен быть целым. А отличие -
    какая-то погрешность.
    
    В программе я, конечно, разобрался, особых хитростей в ней не нашел.
    Двойные ряды товарищ суммировал, и чего там только не было - и
    гиперболические функции и бесселевы. Подозрительным мне все это
    показалось. Позвонил знакомому математику. Тот посмотрел в книжки и
    говорит: нету твоих рядов в книжках, подожди часок, я их сам
    пообдумаю. Через два часа звонит - ряды твои, говорит, можешь
    забирать. Но я уговорил его приехать. Посмотрел он распечатки и сразу
    стал серьезным. До утра мы с ним просидели. Все верно, а двадцать две
    десятимиллионные все же возникают. В шесть утра он кофе допил, встал и
    говорит - домой поеду, мне к десяти в институт надо. А это ошибки
    вычислений набегают, можешь быть уверен. И уехал.
    
    Через день ко мне заказчик зашел, ответ я ему сообщил. Он спасибо
    сказал и отчалил. Больше я его не видел.
    
    Задачки свои можете ко мне смело нести, я программист не из последних.
    А ту программу я еще не раз пускал. И на машинах с большой разрядной
    сеткой, и с двойной точностью, и ошибки в ней искал, и другим
    показывал, программистам да математикам. Ответ уточнил - 4,00000223.
    Это уж железно. А вы думали - если двойку на двойку умножить, сколько
    будет?
    

  • Оставить комментарий
  • © Copyright Ашкинази Леонид Александрович (leonid2047@gmail.com)
  • Обновлено: 29/11/2005. 2k. Статистика.
  • Рассказ: Фантастика
  •  Ваша оценка:

    Связаться с программистом сайта.