Описание тега integer-overflow
Целочисленное переполнение происходит, когда результат операции превышает максимальное значение, которое может быть представлено базовым целочисленным типом.
1
ответ
Почему переполнение (-2147483648) происходит в коде?
Я вижу довольно странную проблему. Каким-то образом, с моим кодом ниже, я вижу, как выводится отрицательное число, как показано ниже в моем holder переменная. Я не уверен, почему это происходит. -2147483648 days -2147483648 hours -2147483648 minutes…
26 июл '15 в 21:48
5
ответов
Являются ли целые числа фиксированной ширины дистрибутивными по умножению?
Для трех n-битных целых чисел со знаком a, b, а также c (например, 32-разрядный), всегда ли это правда, что a * (b + c) == (a * b) + (a * c)с учетом целочисленного переполнения? Я думаю, что это не зависит от языка, но если это не так, меня особенно…
07 янв '13 в 03:05
36
ответов
Неожиданные результаты при работе с очень большими целыми числами на интерпретируемых языках
Я пытаюсь получить сумму 1 + 2 + ... + 1000000000, но я получаю забавные результаты в PHP и Node.js. PHP $sum = 0; for($i = 0; $i <= 1000000000 ; $i++) { $sum += $i; } printf("%s", number_format($sum, 0, "", "")); // 500000000067108992 Node.js va…
04 авг '13 в 18:46
6
ответов
(A + B + C) ≠ (A + C + B) и переупорядочение компилятора
Добавление двух 32-битных целых может привести к переполнению целого числа: uint64_t u64_z = u32_x + u32_y; Этого переполнения можно избежать, если одно из 32-разрядных целых чисел сначала приводится или добавляется к 64-разрядному целому числу. uin…
25 июл '16 в 09:08
6
ответов
Объяснение безопасного среднего из двух чисел
Всякий раз, когда мне нужно усреднить два числа для алгоритма, такого как двоичный поиск, я всегда делаю что-то вроде этого: int mid = low + ((high - low) / 2); Недавно я видел другой способ сделать это в этом посте, но я не понимаю этого. Он говори…
01 окт '13 в 01:04
2
ответа
1000000000 * 3 = -1294967296?
Я не совсем понимаю! Сегодня 3 ноября DateTime DateTime = new DateTime(2010,11,3); long shazbot = 1000000000 * DateTime.Day; Shazbot выходит на -1294967296 Да???
03 ноя '10 в 14:12
0
ответов
Работа с 32-битной переливной сборкой x86 at&t
Как бороться с переполнением, если я не могу работать с 64-битными регистрами? это единственное условие. Вот пример кода: .data m: .long 3386449920 base: .long 483778560,225763328,109240320,26664960,413385 В start: у меня есть некоторые инструкции у…
23 апр '15 в 18:28
2
ответа
PHP идиома для счетчика неотрицательных целых
При попытке создать счетчик, который возвращается к 0, когда диапазон int исчерпан. По существу, 0, 1, ..., MAX_INT - 1, MAX_INT, 0, 1, ... Идиоматический C является x = ((x + 1) & MAX_INT); Но это не сработает в PHP, потому что int становится д…
18 дек '15 в 22:11
1
ответ
Исключение переполнения MIPS
Я прочитал несколько постов здесь об исключении переполнения для подписанного и неподписанного дополнения MIPS, но мне все еще не ясно. 1) Что означает исключение переполнения и когда оно возникает? 2) Когда переполнение игнорируется для неподписанн…
10 окт '16 в 04:59
5
ответов
Как можно использовать целочисленное переполнение?
У кого-нибудь есть подробное объяснение того, как можно использовать целые числа? Я много читал о концепции, и я понимаю, что это такое, и я понимаю переполнение буфера, но я не понимаю, как можно надежно изменить память или каким-то образом изменит…
26 май '10 в 14:00
8
ответов
Эффективное приведение без знака к подписи, исключающее поведение, определяемое реализацией
Я хочу определить функцию, которая принимает unsigned int в качестве аргумента и возвращает int конгруэнтный по модулю UINT_MAX+1 к аргументу. Первая попытка может выглядеть так: int unsigned_to_signed(unsigned n) { return static_cast<int>(n);…
31 окт '12 в 02:32
1
ответ
VB.NET Работа с частью уравнения, создающей исключение переполнения
В качестве простого примера следующий код создает исключение переполнения: Sub Main() Dim x As Int16 = 2 ^ 10 Dim y As Int16 = 2 ^ 10 Dim z As Int16 z = CType(x * y / y, Int16) Console.WriteLine(z) Console.Read() End Sub При выполнении арифметики ок…
08 апр '16 в 00:56
2
ответа
Integer.MIN_VALUE разделить на -1
почему эта строка кода имеет значение?(я получаю неправильный ответ без него) if (dividend == Integer.MIN_VALUE && divisor == -1) { return Integer.MAX_VALUE; } Вопрос: Разделите два целых числа без использования умножения, деления и оператор…
21 авг '18 в 16:39
2
ответа
В PBKDF2 INT (i) подписан?
На стр. 11 RFC 2898 говорится, что для U_1 = PRF (P, S || INT (i)) INT (i) представляет собой четырехоктетное кодирование целого числа i, в первую очередь самый старший октет. Означает ли это, что я значение со знаком, и если так, что происходит при…
12 июл '17 в 05:09
0
ответов
Как записать численно в символ? Правильно, что бы обнаружить переполнения?
ПОЛНОСТЬЮ ВОССТАНОВИЛ ВОПРОС. Я хотел бы написать численно в целочисленный тип, не будучи уверенным, действительно ли это тип символа: char, wchar_t, char32_t и т.п. Рассмотрим следующий код: template <typename T> class MyInteger { T value; pu…
16 июл '15 в 16:25
4
ответа
C/C++ Отрицание переменной целочисленного типа со значением 0
Я хочу передать версию измененного знака некоторого значения в функцию. Я знаю, как проверить переполнение, если знак меняется, но я не знаю об этом одном случае. int apple( int ); int a = 0; apple( -a ); Это определенное поведение охватывается стан…
16 сен '13 в 21:46
1
ответ
CUDA большие входные массивы
Я новичок в CUDA, я работал над "алгоритмом сокращения". Алгоритм работает для любого размера массива менее 1<<24. Когда я использую массивы размером 1<<25, программа возвращает 0 в "общей сумме", что неверно. Сумма должна мне 2^25 РЕДАКТИРОВАТЬ cud…
07 янв '16 в 13:02
1
ответ
Напишите функцию, которая печатает каждую цифру n^100
Меня попросили написать функцию Java, которая принимает целое число, nи распечатывает значение n^100, Я понятия не имею, как подойти к этому. Я знаю, обычными средствами это переполнится как n растет. Ответы, такие как: 5.32 x 10^20 не принимаются Э…
16 сен '14 в 19:51
1
ответ
Есть ли предупреждение о переполнении интегральной константы в clang?
Рассмотрим следующие фрагменты: short x = 2000000000; short x = (short)2000000000; int x = 1000000000 * 1000000000; Можем ли мы получить предупреждение (/error) для них в Clang? Как? Начиная с какой версии? Спасибо, Киприан.
13 янв '14 в 14:06
1
ответ
Swift: переопределение хэша NSObject без сбоя переполнения
Используя Swift 3, у меня есть некоторые NSObject подклассы, которые я перекрываю hash собственность и isEqual() функции для. (Я хочу, чтобы классы могли использоваться в качестве ключей в словаре, и я хочу, чтобы их массив мог быть отсортирован, но…
09 ноя '16 в 03:08