Запитання з тегом «integer-overflow»

Ціле переповнення відбувається, коли результат операції перевищує максимальне значення, яке може бути представлене базовим цілим числом.

14
Якщо 32-бітне ціле число переповнюється, чи можна використовувати 40-бітну структуру замість 64-бітної?
Якщо, скажімо, 32-бітове ціле число переповнюється, замість того, щоб оновити intдо long, чи можемо ми використовувати якийсь 40-бітний тип, якщо нам потрібен діапазон лише в межах 2 40 , так що ми зберігаємо 24 (64-40) біти для кожного ціле число? Якщо так, то як? Я маю справу з мільярдами, і …

4
Чи може argc переповнюватися?
Я блукав у СО і побачив це питання . Потім я почав гадати, чи можу я переповнити argc. Стандарт говорить, що це argv[argc]повинен бути нульовий покажчик, але це буде хибним, якщо переповнення argc. (Я написав невелику програму на С та сценарій python для тестування, але отримав MemoryError.) Дякую! Обґрунтування міжнародного …

4
Чи є фрагмент C, який ефективно розраховує безпечне доповнення без використання компілятора?
Ось функція C, яка додає intіншу, не вдається, якщо відбудеться переповнення: int safe_add(int *value, int delta) { if (*value >= 0) { if (delta > INT_MAX - *value) { return -1; } } else { if (delta < INT_MIN - *value) { return -1; } } *value += delta; return …

1
Чи гарантовано значення char, встановлене на CHAR_MAX, і воно гарантовано завершиться до CHAR_MIN?
Мій код: #include <stdio.h> #include <limits.h> int main() { char c = CHAR_MAX; c += 1; printf("CHAR_MIN=%d CHAR_MAX=%d c=%d (%c)\n", CHAR_MIN, CHAR_MAX, c, c); } Вихід: CHAR_MIN=-128 CHAR_MAX=127 c=-128 () Ми бачимо, що коли ми збільшуємо charнабір змінної CHAR_MAX, вона обертається на CHAR_MIN. Чи гарантована така поведінка? Або це буде …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.