-
- про насыщение ни где не сказано, а сказано: "результат не
определен" IBAH(1 знак., Вчера, 20:50, ссылка)
- Ну вот, а у меня с GCC12 оказалось - насыщение на UINT32_MAX. - Nikolay_Po(Вчера, 22:58)
- За любое упоминание плавучки без особой на то необходимости
пожизненный эцих с гвоздями! :))) - VladislavS.(24.02.2026 09:24)
- Та ну! С удовольствием использую везде, где нужно определить
константы. Не всё удобно и просто считать целыми. Поэтому не
парюсь, в расчёте на то, что препроцессор посчитает и преобразует в
целое. Тут промахнулся. - Nikolay_Po(24.02.2026 09:41)
- Так вот кто в ПКАДе ввёл плавучие координаты вместо целых, и оттого тот стал уёбищным! - Kpoк(Вчера, 20:44)
- Тама есть два мелких нюанса: 1) препроцессор не умеет в плавучку 2)
не все компиляторы умеют constant folding с плавучкой. ==>
Можете к копеечному коду внезапно получить внагрузку дабловую
арифметику. - LightElf(Вчера, 18:45)
- У меня в "боевых" проектах, включено предупреждение. Как только вылазит дабловая - сразу ошибка - недоглядел! Срабатывает - проблем нет. - Nikolay_Po(Вчера, 23:23)
- "Не все компиляторы" - это так себе аргумент. Если всегда ориентироваться на самый убогий компилятор, то зачем так жить? - SciFi(Вчера, 19:23)
- Та ну! С удовольствием использую везде, где нужно определить
константы. Не всё удобно и просто считать целыми. Поэтому не
парюсь, в расчёте на то, что препроцессор посчитает и преобразует в
целое. Тут промахнулся. - Nikolay_Po(24.02.2026 09:41)
- И варнинга не было? - Anvar(24.02.2026 08:56)
- Хех. А если знать правила неявного приведения типов, то ничего
удивительного. Там правила довольно простые, советую выучить. - SciFi(24.02.2026 08:35)
- Правила преобразования знаковое - беззнаковое мне не кажутся
простыми. AlexBi(104 знак., 24.02.2026 10:33)
- По ссылке цитата из стандарта. Она только кажется длинной и
сложной, там суть довольно простая, если немного вникнуть: SciFi(37 знак., 24.02.2026 11:00, ссылка, ссылка)
- В первой цитате не увидел ничего про насыщение при переводе из дабла в целое. А вот во второй: Nikolay_Po(106 знак., 24.02.2026 11:02)
- По ссылке цитата из стандарта. Она только кажется длинной и
сложной, там суть довольно простая, если немного вникнуть: SciFi(37 знак., 24.02.2026 11:00, ссылка, ссылка)
- Дык, Когда пишешь выражение: это равно тому-то - помнишь. А тут инкремент, немного другая запись. Интуитивно полагал, что если слева целое, то целое и запишется. Преобразуется к целому и запишется. И оно преобразовалось, и записалось. С побочными эффектами в виде раздувания кода, времени выполнения и, главное, с насыщением результата! - Nikolay_Po(24.02.2026 09:29)
- Правила преобразования знаковое - беззнаковое мне не кажутся
простыми. AlexBi(104 знак., 24.02.2026 10:33)
- Ну т.е. вместо переполнения получалось 0xFFFFFFFF ??? Интересно... - il-2(24.02.2026 06:38)
- Именно. Сильно удивился значению. Думал, может, у меня инкремент
чётко кратно 2^32-1 вышел. Проверил - нет. Понял, что насыщение и
заподозрил преобразование из плавающей точки. Оно самое, оказалось. - Nikolay_Po(24.02.2026 09:20)
- Вот такой он внезапный, Undefined Behavior ;-) - LightElf(Вчера, 18:48)
- Именно. Сильно удивился значению. Думал, может, у меня инкремент
чётко кратно 2^32-1 вышел. Проверил - нет. Понял, что насыщение и
заподозрил преобразование из плавающей точки. Оно самое, оказалось. - Nikolay_Po(24.02.2026 09:20)
- про насыщение ни где не сказано, а сказано: "результат не
определен" IBAH(1 знак., Вчера, 20:50, ссылка)