#1515035itsnotrobotsАвтор=56337296Описание легко понять, если знать, про что задача. Здесь можно догадаться, про что она. Но не обязательно это делать. Основная история про то, что робот этого тоже не знает. То есть от него требуют подписать документ, у которого слишком большой объём, он на неизвестном языке, и ещё отсутствует необходимый контекст для его понимания. И это считается нормально.
#1515016Anonymous=56352988...а то что исправлено вообще имеет смысл, кроме матефизического ?
а то я я там понял только про 3D вектор ( https://joyreactor.cc/post/736696 )
и толстого полярного лиса.
с массой и пушером не разобрался - это про наркотики или что-то айтишное?#1515015Anonymous=56353799пустышка наполнилась :)
нихренасе ... 239 файлов 1290строк добавлено :)
глянь быстренько , ага...#1514935HJK=56405831>Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)
Вот поэтому в языках связанных с промышленным железом есть типы
SINT/USINT, INT/UINT, DINT/UDINT, LINT/ULINT. Может немного неоптимально, зато поведение предсказуемо.#1514917itsnotrobotsАвтор=56414167Какой интересный жеже вы залинковали. Я когда учился в институте, там работал чувак с логином avva. И поскольку тогда не было бесплатных емайлов, первый емайл который я использовал в моей жизни был его, он мне разрешил его где-то указать.
#1514894SVlad=56417589> компиляторы могут наоптимизировать.
Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)
На практике всё таки происходят не столь разрушительные, но всё равно странные вещи:
https://avva.livejournal.com/3500861.html#1514874itsnotrobotsАвтор=56423172А здесь можно не понимать, это фансервис для программистов #1514855Anonymous=56441684вот и настал этот день :)
я лучше понимаю комикс, чем комментарии к нему :)#1514843HJK=56450535>На самом деле там undefined behavior
Если правильно помню, там просто флаг в регистре выставляется и все - его можно игнорировать. Хотя интерпретаторы работают с виртуальной машиной, так что может быть что угодно да и компиляторы могут наоптимизировать.#1514819SVlad=56467890> а я думал это изящное решение как в С типа INT_MIN - 1 == INT_MAX
На самом деле там undefined behavior.) Но вроде все компиляторы просто следуют тому, что происходит в целевом процессоре - а там обычно зацикливание.#1514818HJK=56468550Оу, в PHP действительно PHP_INT_MIN -1 == PHP_INT_MIN а я решил, что это изящное решение как в С типа INT_MIN - 1 == INT_MAX.
Упс второй код что-то мне напоминает - у меня как то так доступ к БД был реализован. только еще сверху завернуто в автомат состояний с переменным временем для повторных попыток доступа. Через 10 лет теперь я сам не помню как это работает.
Отредактировано «HJK» 12.02.2023 21:17:20
#1514810SVlad=56470316https://www.php.net/manual/en/language.types.integer.php
If PHP encounters a number beyond the bounds of the int type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the int type will return a float instead.
В пыхе нет переполнения - превращаем во float и фигачим дальше. Там он рано или поздно или дойдёт до минус бесконечности и там и останется, так как -INF-1 == -INF, или вообще застрянет по дороге, когда шаг значений в float станет сильно больше 1 и число просто перестанет уменьшаться. #1514805itsnotrobotsАвтор=56472354Пожалуй, на переполнении он действительно закончится. Я подумаю на эту тему. Ну то есть, моя идея была в том, что это действительно бесконечный цикл :) Мне кажется, так ещё смешнее.
#1514800agogin=56473604#1514799
там от единицы вниз в отрицательную зону уходит, а не вверх до 10 как видимо задумывалось. #1514799ForNeVeR=56473785Такой ли уж вечный тут был цикл? Разве он не закончится на переполнении? Или какая там в пыхе система типов?#1514798itsnotrobotsАвтор=56473789потому что так надо показывать ":)"#1514796ForNeVeR=56474374Я не понял, почему у неё голова съезжает на бок.#1514795itsnotrobotsАвтор=56474680Есть ещё фича редакторов кода. В них можно посмотреть историю исправлений, в том числе вывести, кто писал какую строку. Часто можно видеть решение от одного человека, и сразу понятно, что оно не работает. Потом бывает исправление строками от другого человека. Иногда оно смешное.
Или ещё байка. Как-то раз у меня был коллега. Он писал код так, что каждый раз, когда у нас был баг, я точно знал, что это в его коде. Также он форматировал не так, как в остальном проекте. И я специально его не поправлял. Потому что по форматированию было удобно видеть, где надо искать косяк.
#1514793SVlad=56475543Хм, ну в начале мы имеем цикл, который по факту выполнится 2 раза, для i=1 и i=0. На втором проходе он выйдет - и это фикс Михалыча. А до этого был вечный цикл.
А на втором - попытка достучаться до сервера второй раз, если первый раз пришёл нулевой ответ.
И судя по имени индуса в первом блоке, просто кусок скопирован откуда-то и потом некорректно поправлен под нужды. Уверен, там на самом деле вообще один проход нужен. #1514792SVlad=56475824Хм, похоже, и правда всё идёт к тому, что это не киберпанк-зомбиапокалипсис, а производственный роман про отлов легаси бага, приправленный буйной фантазией Озимова.
а то я я там понял только про 3D вектор ( https://joyreactor.cc/post/736696 )
и толстого полярного лиса.
с массой и пушером не разобрался - это про наркотики или что-то айтишное?
нихренасе ... 239 файлов 1290строк добавлено :)
глянь быстренько , ага...
Вот поэтому в языках связанных с промышленным железом есть типы
SINT/USINT, INT/UINT, DINT/UDINT, LINT/ULINT. Может немного неоптимально, зато поведение предсказуемо.
Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)
На практике всё таки происходят не столь разрушительные, но всё равно странные вещи:
https://avva.livejournal.com/3500861.html
я лучше понимаю комикс, чем комментарии к нему :)
Если правильно помню, там просто флаг в регистре выставляется и все - его можно игнорировать. Хотя интерпретаторы работают с виртуальной машиной, так что может быть что угодно да и компиляторы могут наоптимизировать.
На самом деле там undefined behavior.) Но вроде все компиляторы просто следуют тому, что происходит в целевом процессоре - а там обычно зацикливание.
Упс второй код что-то мне напоминает - у меня как то так доступ к БД был реализован. только еще сверху завернуто в автомат состояний с переменным временем для повторных попыток доступа. Через 10 лет теперь я сам не помню как это работает.
If PHP encounters a number beyond the bounds of the int type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the int type will return a float instead.
В пыхе нет переполнения - превращаем во float и фигачим дальше. Там он рано или поздно или дойдёт до минус бесконечности и там и останется, так как -INF-1 == -INF, или вообще застрянет по дороге, когда шаг значений в float станет сильно больше 1 и число просто перестанет уменьшаться.
там от единицы вниз в отрицательную зону уходит, а не вверх до 10 как видимо задумывалось.
Или ещё байка. Как-то раз у меня был коллега. Он писал код так, что каждый раз, когда у нас был баг, я точно знал, что это в его коде. Также он форматировал не так, как в остальном проекте. И я специально его не поправлял. Потому что по форматированию было удобно видеть, где надо искать косяк.
А на втором - попытка достучаться до сервера второй раз, если первый раз пришёл нулевой ответ.
И судя по имени индуса в первом блоке, просто кусок скопирован откуда-то и потом некорректно поправлен под нужды. Уверен, там на самом деле вообще один проход нужен.