Навеяло недавним забавным багом в Диабло. Вот взять джаву. Вроде современный безопасный язык, память не расстрелять, хоть ты что делай, нулл не разыменовать, все такие баги вылетают с исключениями. Вот с делением на 0 не помню, но вроде тоже исключение вылетит, если не float делишь. А int переполнится и фиг ты об этом узнаешь.
Я встречал очень мало случаев, когда переполнение int-а при арифметической операции было бы корректным выполнением алгоритма. В реальной жизни об этом не думают вообще никогда, ибо 4 млрд это много и хватит каждой домохозяйке. Раз в сто лет не хватает и там вылезает бага. И бага, обычно, пренеприятная. Например как в диабле.
Чисто мое имхо — процессор должен кидать исключение (вызывать прерывание или как там такие ситуации обрабатываются) при переполнении по умолчанию, которое рантайм языка уже может обрабатывать как ему надо. В 99% случаев. А для 1% использовать другие инструкции, не кидающие исключение, ставить какой-нибудь флаг или использовать другой вариант. Ну это на аппаратном уровне, без этой поддержки реализовать отлов переполнения сложно, не будешь же после каждого сложения ставить проверку cf.
А как ваш ЯП помогает программисту в ситуации, когда происходит непредвиденное переполнение? Есть варианты всяких пайтонов, в которых прозрачно промоутится до многобайтной арифметики, но это, по-моему, жутко неэффективно (кстати аппаратное исключение и таким языкам поможет ускориться).
Или я не знаю возможностей современных аппаратных платформ и это всё есть, просто глупые джавы это не используют?
←
1
2
3
4
5
→

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от ilammy

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от ilammy

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от forCe

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от forCe

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от forCe

Ответ на:
Про sbcl
от onanij


Ответ на:
комментарий
от encyrtid

Ответ на:
комментарий
от Legioner

Ответ на:
комментарий
от encyrtid

Ответ на:
комментарий
от Legioner

Ответ на:
комментарий
от ilammy

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от onanij

Ответ на:
комментарий
от dave

Ответ на:
комментарий
от dave

Ответ на:
комментарий
от mix_mix

Ответ на:
комментарий
от mix_mix

Ответ на:
комментарий
от dave

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от auto12884839

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от auto12884839

Ответ на:
комментарий
от tailgunner

Ответ на:
комментарий
от auto12884839


Ответ на:
комментарий
от unt1tled

Ответ на:
комментарий
от r

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [фичреквест] Целочисленное переполнение скора (2011)
- Новости Целочисленное переполнение в FreeBSD (2008)
- Новости Целочисленное переполнение в vim (2008)
- Новости Целочисленное переполнение в FreeBSD (2004)
- Новости Целочисленное переполнение в OpenOffice 2.4.0 (2008)
- Новости Уязвимость в FFMpeg (целочисленное переполнение) (2009)
- Новости Целочисленное переполнение буфера в OpenBSD (2006)
- Новости Целочисленное переполнение буфера в FreeBSD (2006)
- Форум Как Ваша мама относится к Linux? (2008)
- Новости Намеренное целочисленное переполнение в версиях двух LTS ядер ради тестирования (2021)