Требуется обновление браузера.

Scrupulosus

Есть некоторая категория данных, знание которых мало кому пригодилось. В большинстве случаев о маловажных тонкостях функционирования некоторых систем вообще не задумывается никто кроме их создателей (а то и они не беспокоятся). Здесь я буду писать о данных, находящихся на грани бесполезности, но которые я, под гнётом перфекционизма, зачем-то выяснил.
По информации из Википедии (аналогичное мнение содержится и в словаре иностранных слов Е. Грубер), слово "скрупулёзный" происходит от
Цитата
от лат. scrupulosus «каменистый; скрупулёзный», из scrupulus «острый камешек; беспокойство»
Именно это чувство беспокойства заставляет углубляться и углубляться в детали.

2023

Вишниво-лаймовый краш

Сегодня я поведаю вам очередную историю о том, как причудливо влияют сегодняшние решения на далекое будущее.


Подробнее

2021

Прорыв точности

Вам, вероятно, приходилось сталкиваться с ожидаемыми ограничениями точности формата float. Уже привычно: проводить тест не на равенство переменных, а на предельную близость (модуль разницы не превосходит eps). Но, вероятно, сохраняя инерцию восприятия кодирования целых чисел в двоичной системе счисления, многие забывают о принципиальной невозможности хранить произвольные числа без оговорки о точности представления. Неудачно выбранная стратегия обработки значений float-переменных может ...

Подробнее

2020

Ещё раз о числе и его представлении

Продолжая стенания о повсеместном употреблении жаргонизма «десятичное число», вместо терминологически верного «число, записанное в десятичной системе счисления», я взял, да и провёл конвертацию числа, записанного римскими цифрами, в число, представленное в шестнадцатеричной системе счисления.

Подробнее

2019

Си++: указатель или ссылка

Чем отличается ссылка от указателя? Когда использовать то или другое? На первый взгляд, оба инструмента делают одно и то же, приводя к избыточности и без того сложного языка.
"Масла в огонь" подливает амперсанд, который уже встречался и в роли битового И (бинарный
a&b
), и в роли логического И (бинарный
a&&b
), и в роли взятия адреса (унарный префиксный
&a
). Впрочем, последнее кажется логичным: ссылка ведь использует адрес объекта на который ссылается... но ведь для хранения адреса используется указатель?

Подробнее

Си: стек или куча, встраиваемая функция, размеры массива

При переходе на Си/Си++ с других языков - имеющих более конкретную область применения, и потому скрывающих за ненадобностью от программиста тонкости диспетчеризации памяти - неминуемо возникает вопрос о необходимости выбирать способ создания объекта (переменной, экземпляра класса) в памяти: автоматический объект («на стеке»), объект в динамически выделяемой памяти («в куче»), статический объект. Особого шарма добавляют сочетания типа «статически созданный указатель на динамическую память».

Подробнее

Дифференцирование матрицы: разбираем формулы

С момента прошлой заметки по данной теме прошло много времени, но интерес к изложенному в ней не утихал. Разобравшись с основной проблемой (как, собственно, реализовать дифференцирование) читатели стали задавать вопросы о двух приведённых в тексте формулах. На этих формулах построен весь вывод, но сами они не выводятся, а сопровождены комментарием о простоте их получения при должной внимательности. Настало время.

Подробнее

2017

Волшебная дюжина

Вернёмся к старой теме генерации стандартного шума из равномерного, и рассмотрим вопрос: откуда берётся константа (т.н. "магическое число") 12 в формуле дисперсии?

В процессе ответа на первый вопрос, рассмотрим алгоритм получения формул дисперсии и математического ожидания для непрерывных случайных величин, на примере равномерного распределения.

Подробнее

2016

Тест скорости выполнения функции

Недавно на форуме была поднята тема производительности (времени выполнения) функций работы со строками. Автор вопроса интересуется поведением функции в зависимости от аргументов, передаваемых в неё. Сведений о внутреннем устройстве функции нет - сделать аналитическую оценку затруднительно. Подобное тестирование кажется тривиальным, но имеет некоторые тонкости, могущие кардинально исказить результат.

Подробнее

Эксперимент над MilliSecs

Есть мнение, что старичок Blitz3D не обеспечивает необходимой стабильности работы своей функции
MilliSecs
: мол, миллисекунды скачут, точность измерений нарушается - анимации и алгоритмы, привязанные ко времени, работают некорректно. Так ли это?

При изучении свойств различных функций получения текущего времени (см. эту и эту статьи), я уделил внимание и Blitz3D. Но, в связи с отсутствием практической важности этих наблюдений, результаты в статьи не попали.

Подробнее