mirror of
https://github.com/Nekrolm/ubbook.git
synced 2025-12-18 05:14:34 +03:00
fix logic
This commit is contained in:
@@ -188,7 +188,7 @@ static_assert(IntegerPromotionUB(65535) == 1); // won't compile
|
||||
```
|
||||
|
||||
Несмотря на то что для беззнаковых переполнение определено как взятие остатка по модулю `2^n` и мы используем только беззнаковую переменную,
|
||||
из-за `integer promotion` в этом [примере](https://godbolt.org/z/GWsaGo) возникает переполнение знакового! числа и вытекающее из этого UB на платформах, где размер `int` больше `uint16_t` (то есть почти везде сегодня).
|
||||
из-за `integer promotion` в этом [примере](https://godbolt.org/z/GWsaGo) возникает переполнение знакового! числа и вытекающее из этого UB. Справедливости ради, надо заметить, что такое происходит только на платформах, где размер `int` больше `uint16_t` (то есть практически везде в наши дни).
|
||||
|
||||
```C++
|
||||
x *= x; // переписывается как x = x * x;
|
||||
|
||||
Reference in New Issue
Block a user