Pull to refresh
134
0
Руслан Ющенко @yruslan

User

Send message
Функция арктангенса в точке ноль терпит разрыв, а значение в ней не существует. atan2 — Это арктангенс, дополненный предельными значениями слева (для -0) и справа (для +0). Соответственно в пределе слева и справа эта функция стремиться к разным значениям.
atan2 сделана для удобства, чтобы не делать лишних проверок в программе. С точки зрения математики и арифметики с плавающей запятой поведение ее абсолютно логично.
Кроме того, поскольку период тригонометрических функций Pi/2, то если вас не устраивают отрицательные углы, всегда можно сделать проверку

angle=atan2(val);
if (angle<0) angle+=pi/2;


Это тоже будет корректно.
Интересная статья. Единственное предложение: распределение длин паролей нагладнее представлять гистограммой.
Сейчас, имхо, одному человеку написать с нуля полезную на практике ОС невозможно. Разве что для очень специфичной embedded-техники. И то, первым делом слоило бы рассмотреть возможность использовать готовое ядро какой-нибудь из *nix-систем. А уже поверх встроить что-нибудь интересное, например, поддержку real-time процессов или «хитрый» менеджер памяти.
Использовал Lighttpd+Python под Windows для централизованного репозитория Mercurial. Столкнулся с одной проблемой:
Поскольку в Windows имена файлов «case insensative», lighttpd приводит все имена скриптов, файлов и пути к lowercase. Из-за этого, Mercurial (написанный на Python и использующий виртуальные пути, типа http://localhost/hg/MyRepo), не смог видеть репозитории, содержащие заглавные буквы в названии. Никакие игры с настройками не помогли и пришлось качать исходники, править и компилировать.
Это было год назад, возможно сейчас этой проблемы нет, но все равно, при работе в Windows+Python будьте осторожны!
Кроме того, поиск синонимов и антонимов, предложений с разными употреблениями слов, определение слова в разных областях, прямое и переносное значение и прочее. При этом, знаешь, что словари составлены экспертами, а не стихийно, т.е. на них можно ссылаться при споре о терминологии.
Можно так: <source lang=«cpp»> </source>
Я как-то раз работал в проекте, в котором действительно не было спецификаций. И каждай раз уже после этапа программирования и отладки у заказкика всплывала «деталь», из-за которой многое приходилось переделывать.
Конечно, переписывать программы — неотъемлемая часть жизни программиста. Но спецификации позволяют все же повысить эффективность и качестко выходного продукта.

Спасибо за интересынй пример, думаю мы согласны в сути вопроса, а спорим о частностаях.
Мне труднее привести пример большой системы (>1 программиста), написанной без спецификаций.
«6 причин, по которым вам не стоит писать плохие функциональные спецификации»
Статья очень понравилась стремлением автора к саморазвитию.
Мои рекомендации:
1. Посмотрите в сторону VBScript — хорошая альтернатива консольным пакетным программам (.bat) для винды.
2. (опционально) Посмотрите как устроена консоль в Unix-подобных системах, поймете недостатки виндовой консоли.
Рентгеновское зрение и широкополосный радиослух…
NaN с любым логическим выражением вернет ложь. Отсюда,
if (a!=a) printf("Оппа, NaN..."); 
Да, вы правы. Большое спасибо за замечания!
Простого ответа нет — есть целая теория как делать формулы более устойчивыми к арифметике с плавающей запятой, основанная на анализе погрешности и алгебре. Несколько примеров с доказательствами есть в этой книжке.
Все зависит от того, что мы с этими числами будем делать. Кроме округления при представлении источником ошибок являются арифметические операции, которые тоже вносят погрешность. Эффект получается кумулятивный.
См. п.3.3. Вы правы, денормализованные (вместо субнормальные) числа — правильный термин. Исправил в статье. Спасибо!
Согласен. Тем более, если мы будем считать миллиарды, можем потерять не только копейки, но и рубли.
Спасибо! Уже исправил. Множество действительных чисел, конечно.
Я консультировался с разработчиками стандартов в Украине. Оба перевода правильные, а в стандартах пишут через слеш (плавающая точка/запятая). Последний мне показался самобытнее и ближе к традиции.

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity