Публикация
Мир роботов
Изображение пользователя SVlad
#1514894SVlad=96300215
> компиляторы могут наоптимизировать.

Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)
На практике всё таки происходят не столь разрушительные, но всё равно странные вещи:
https://avva.livejournal.com/3500861.html
Изображение пользователя itsnotrobots
#1514874itsnotrobotsАвтор=96305798
А здесь можно не понимать, это фансервис для программистов
Изображение анонимного пользователя
#1514855Anonymous=96324310
вот и настал этот день :)
я лучше понимаю комикс, чем комментарии к нему :)
Изображение пользователя HJK
#1514843HJK=96333161
>На самом деле там undefined behavior
Если правильно помню, там просто флаг в регистре выставляется и все - его можно игнорировать. Хотя интерпретаторы работают с виртуальной машиной, так что может быть что угодно да и компиляторы могут наоптимизировать.
Изображение пользователя SVlad
#1514819SVlad=96350516
> а я думал это изящное решение как в С типа INT_MIN - 1 == INT_MAX

На самом деле там undefined behavior.) Но вроде все компиляторы просто следуют тому, что происходит в целевом процессоре - а там обычно зацикливание.
Изображение пользователя HJK
#1514818HJK=96351176
Оу, в PHP действительно PHP_INT_MIN -1 == PHP_INT_MIN а я решил, что это изящное решение как в С типа INT_MIN - 1 == INT_MAX.

Упс второй код что-то мне напоминает - у меня как то так доступ к БД был реализован. только еще сверху завернуто в автомат состояний с переменным временем для повторных попыток доступа. Через 10 лет теперь я сам не помню как это работает.
Отредактировано «HJK» 12.02.2023 21:17:20
Изображение пользователя SVlad
#1514810SVlad=96352942
https://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 и число просто перестанет уменьшаться.
Изображение пользователя itsnotrobots
#1514805itsnotrobotsАвтор=96354980
Пожалуй, на переполнении он действительно закончится. Я подумаю на эту тему. Ну то есть, моя идея была в том, что это действительно бесконечный цикл :) Мне кажется, так ещё смешнее.
Отредактировано «itsnotrobots» 12.02.2023 20:16:21
Изображение пользователя agogin
#1514800agogin=96356230
#1514799
там от единицы вниз в отрицательную зону уходит, а не вверх до 10 как видимо задумывалось.
Изображение пользователя ForNeVeR
#1514799ForNeVeR=96356411
Такой ли уж вечный тут был цикл? Разве он не закончится на переполнении? Или какая там в пыхе система типов?
Изображение пользователя itsnotrobots
#1514798itsnotrobotsАвтор=96356415
потому что так надо показывать ":)"
Изображение пользователя ForNeVeR
#1514796ForNeVeR=96357000
Я не понял, почему у неё голова съезжает на бок.
Изображение пользователя itsnotrobots
#1514795itsnotrobotsАвтор=96357306
Есть ещё фича редакторов кода. В них можно посмотреть историю исправлений, в том числе вывести, кто писал какую строку. Часто можно видеть решение от одного человека, и сразу понятно, что оно не работает. Потом бывает исправление строками от другого человека. Иногда оно смешное.

Или ещё байка. Как-то раз у меня был коллега. Он писал код так, что каждый раз, когда у нас был баг, я точно знал, что это в его коде. Также он форматировал не так, как в остальном проекте. И я специально его не поправлял. Потому что по форматированию было удобно видеть, где надо искать косяк.
Отредактировано «itsnotrobots» 12.02.2023 19:32:58
Изображение пользователя SVlad
#1514793SVlad=96358169
Хм, ну в начале мы имеем цикл, который по факту выполнится 2 раза, для i=1 и i=0. На втором проходе он выйдет - и это фикс Михалыча. А до этого был вечный цикл.
А на втором - попытка достучаться до сервера второй раз, если первый раз пришёл нулевой ответ.
И судя по имени индуса в первом блоке, просто кусок скопирован откуда-то и потом некорректно поправлен под нужды. Уверен, там на самом деле вообще один проход нужен.
Изображение пользователя SVlad
#1514792SVlad=96358450
Хм, похоже, и правда всё идёт к тому, что это не киберпанк-зомбиапокалипсис, а производственный роман про отлов легаси бага, приправленный буйной фантазией Озимова.
Изображение пользователя agogin
#1514790agogin=96359117
Тот самый дальний кордон куда Михалыч привёз какую то херотень, которая на 2-м VR уровне выглядит как метеорит нацеленный на землю.

Что там интересно? Дроп базы по условию?
Изображение пользователя agogin
#1514785agogin=96361952
Огонь вообще. Очень интересно
Изображение пользователя itsnotrobots
#1514770itsnotrobotsАвтор=96370891
Это был аргумент в коде под Андроид, который передаётся в intent как bundle, и этот аргумент передавался между порядка 10 Activity, в разной форме. Про классы это я упрощённо сказал.
Отредактировано «itsnotrobots» 12.02.2023 15:45:04
Изображение пользователя Gektansir
#1514762Gektansir=96378113
#1514725
оно хоть как значение передавалось, а не как ссылка?
Изображение анонимного пользователя
#1514735Anonymous=96400578
Восхищен!
...Редрик Шухарт?