Обновить

Округление как зеркало корпоративной культуры в IT-продуктах

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.2K
Всего голосов 1: ↑1 и ↓0+1
Комментарии12

Комментарии 12

Округление это вообще проблема, которая в некоторых местах реально аукается и не раз. Лайки и просмотры то это не критично, там плюс минус разницы нет. А вот в серьезных приложениях для управления производством, некоторые избыточные или недостаточные округления приводят к проблемам.

Согласен

Пусть тот кто придумал 1000 вместо старого доброго 1024 горит в аду

А зачем вообще может потребоваться ceil/floor округление вместо нормального математического которое до половины шага округляется вниз, а от половины шага вверх? Банковское и остальные методы в расчёт не беру, там своя атмосфера

Да вот хотя бы то же самое количество лайков. Видеоблогеры бывает празднуют круглые числа подписчиков. И наверное будут не рады, если тут будет применяться математическое округление. Можно спорить о степени полезности всего этого, но это уже другой разговор

Кому-то 8 mb это 8000кb, а кому то 8*1024*1024*1024.

Часто такие проблемы от "большого ума". Для кгого эти ограничения? Какой "не программист" будет байты считать? Он наведет мышку на файл и в подсказке увидит размер. Вот на это и надо ориентироваться. И никого не интересует академическая составляющая.

ps. Мне кажется ourRound надо не через if писать, а исходить из разрядности числа.

Правильное задание точности чисел и знание правил их округления - залог получения верного результата в конкретной прикладной вычислительной задаче. Это основа подготовки профессионального программиста-разработчика. Также как и обязательное знание представления чисел в памяти ЭВМ: целых, дробных (с мантиссой и порядком), 2-ичной и 16-ричой систем исчисления. Без этих фундаментальных знаний на выходе кустарный кодировщик.

и каждый раз наблюдаю нестыковки с округлением. Прилагаю скрины)
Округление 1K
Округление 1.1K

...я десять лет считаю просмотры на этих видео, и их то 1К, то 1,1К, то вообще 1,11К...

Возможно, я что-то не понимаю, Но 8 мегабайт - это более чем конкретное значение. Если бы имелись в виду мегабиты, то были бы указаны они, разве нет?

кстати, если выбирать между 1К или 1,1К - то лучше второе, дело в том, что мозг человека хорошо обрабатывает два знака, и гораздо хуже три.
Еще много где рекомендуется оставлять две значащие цифры, поскольку округление в таком случает дает нам максимальное отклонение менее 5%, что довольно терпимо для обычных прикладных задач.

Округление - это костыль, который упрощает воспрятие информации. Следовательно, округлять вообще не надо кроме одного раза, когда информация отдается конечному пользователю продукта (человеку). И лучше округлять по классическим школьным правилам, чтобы не объяснять потом пользователю разницу между round, ceil, floor. До какого знака - зависит от цели визуалиции, что в каждом случае индивидуально. Золотая середина - до десятых

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации