vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2024-09-01 10:41 pm

Арифметика с переполнением

Как сложить/вычесть/умножить два числа на Си и отловить факт переполнения? Не теоретически, а по делу. Желательно не теряя эффективности.

Для этого в компиляторах GCC и Clang есть соответствующие встроенные функции.

[personal profile] chabapok 2024-09-02 08:30 am (UTC)(link)
> Очень странно, что в стандарте языка это никак не оговорено, поскольку ситуация типичная и очень требует универсального решения.

в с23 есть "#include
[Error: Irreparable invalid markup ('<stdckdint.h>') in entry. Owner must fix manually. Raw contents below.]

> Очень странно, что в стандарте языка это никак не оговорено, поскольку ситуация типичная и очень требует универсального решения.

в с23 есть "#include<stdckdint.h>", там есть всякие ckd_add

(правда это уже как мертвому припарка)
Edited 2024-09-02 08:31 (UTC)