Вопросы по теме 'integer-overflow'
Эквивалент atoi для беззнаковых целых чисел
Я выполняю две операции с использованием atoi, и мне интересно, как я могу сделать это с целыми числами без знака, потому что atoi, похоже, преобразует их в знаковые, вызывая переполнение целого числа с переносом. Я хочу работать с 32-битными целыми...
43912 просмотров
schedule
15.10.2021
действительно ли это битовое поле первого размера переполняется при присвоении 1?
Я написал код с битовыми полями, который, как мне казалось, должен работать, но похоже, что GCC с этим не согласен. Я что-то пропустил или действительно нашел ошибку в GCC?
После упрощения моего кода тестовый сценарий стал довольно простым. Я...
1109 просмотров
schedule
22.10.2021
Почему я получаю 32-битное переполнение при компиляции в 64-битном на C ++?
Итак, я решил протестировать новую графическую библиотеку C ++ в стиле черепахи. Я решил проверить это, сделав спираль Фибоначчи. однако при запуске программы она останавливается посередине. Я проверил, что происходит, и значение фибоначчи...
59 просмотров
schedule
28.10.2021
Целочисленное переполнение и умножение целых чисел в c ++
int y ;
y = 7000000000*1.0;
Это не дает ошибки в cpp
Хотя
int y ;
y = 7000000000;
Это приводит к целочисленному переполнению
Кто-нибудь может объяснить эти два сценария.
102 просмотров
schedule
13.03.2022
Добавление двух символов дает int
Я сделал простую программу и скомпилировал ее с помощью GCC 4.4/4.5 следующим образом:
int main ()
{
char u = 10;
char x = 'x';
char i = u + x;
return 0;
}
g++ -c -Wconversion a.cpp
И у меня есть следующее:
a.cpp: In function...
11152 просмотров
schedule
02.04.2022
Предупреждение: переполнение при неявном преобразовании констант
В следующей программе строка 5 выдает предупреждение о переполнении , как и ожидалось, но, что удивительно, строка 4 не выдает никаких предупреждений в GCC: http://www.ideone.com/U0BXn
int main()
{
int i = 256;
char c1 = i; //line 4...
82050 просмотров
schedule
06.04.2022
Проверка переполнения в знаковых сложениях и абелевых группах
Я читал о том, почему следующий код глючит:
int tadd_ok ( int x, int y ) {
int sum = x + y;
return ( sum - x == y ) && ( sum - y == x );
}
Объяснение заключалось в том, что сложение дополнения до двух образует абелеву...
406 просмотров
schedule
03.04.2022
Поведение переполнения VBA
У меня есть какое-то поведение vba, которое я не понимаю. Я запускаю vba в макросе Excel 2016.
Sub alpha()
Dim a As Integer, b As Long
a = 750
b = 50 * a
Stop
End Sub
Запуск этого подпрограммы приводит к ошибке переполнения. Почему?...
212 просмотров
schedule
03.04.2022
Беззнаковая арифметика и целочисленное переполнение
Я пытаюсь понять арифметическое переполнение. Предположим, у меня есть следующее,
unsigned long long x;
unsigned int y, z;
x = y*z;
y*z может привести к целочисленному переполнению. Устраняет ли приведение одного из операндов к unsigned...
1928 просмотров
schedule
15.04.2022
Как безопасно сравнить два счетчика целых чисел без знака?
У нас есть два счетчика без знака, и нам нужно сравнить их, чтобы проверить наличие ошибок:
uint32_t a, b;
// a increased in some conditions
// b increased in some conditions
if (a/2 > b) {
perror("Error happened!");
return -1;
}...
925 просмотров
schedule
17.04.2022
Целое число без знака в С++
Я пишу следующий код:
#include <iostream>
using namespace std;
int main() {
unsigned int i=1;
i=i-3;
cout<<i;
return 0;
}
На выходе получается мусорное значение, что понятно. Теперь я пишу следующий код:...
2870 просмотров
schedule
08.05.2022
Могут ли компиляторы обнаружить возможность целочисленного переполнения или переполнения другого типа данных?
Можно ли обнаружить или предотвратить целочисленное переполнение во время компиляции, а не во время выполнения?
Если переполнение не обнаруживается и происходит во время работы, можно ли его обнаружить? Я где-то читал, что у процессора будет...
605 просмотров
schedule
19.05.2022
Существуют ли какие-то значимые статистические данные, оправдывающие сохранение неопределенного значения переполнения целочисленных арифметических операций со знаком?
В стандарте C явно указано, что переполнение целого числа со знаком имеет неопределенное поведение . Тем не менее, большинство процессоров реализуют арифметику со знаком с определенной семантикой для переполнения (за исключением, возможно,...
878 просмотров
schedule
15.05.2022
Как избежать целочисленного переполнения?
В следующем коде C++ 32767 + 1 = -32768.
#include <iostream>
int main(){
short var = 32767;
var++;
std::cout << var;
std::cin.get();
}
Есть ли способ просто оставить «var» как 32767 без ошибок?
10761 просмотров
schedule
14.06.2022
Есть ли безопасный способ получить беззнаковое абсолютное значение целого числа со знаком, не вызывая переполнения?
Рассмотрим типичную функцию абсолютного значения (где для аргумента целочисленный тип максимального размера длинный):
unsigned long abs(long input);
Наивная реализация этого может выглядеть примерно так:
unsigned long abs(long input)
{...
2806 просмотров
schedule
11.06.2022
Что означает BigInteger без ограничений?
Я изучил этот вопрос о переполнении стека, относящийся к Big Integer , и конкретно я не понимаю эту строку ( слова курсивом):
В классе BigInteger у меня нет ограничений , и там есть несколько полезных функций, но преобразование вашего...
68875 просмотров
schedule
23.06.2022
Переполнение целочисленного значения со знаком в С++?
У меня есть устаревшая кодовая база, которую мы пытаемся перенести с devtoolset-4 на devtoolset-7 . Я заметил интересное поведение в отношении переполнения целых чисел со знаком (точнее, int64_t ).
Существует фрагмент кода, который...
1489 просмотров
schedule
19.06.2022
Как проверить переполнение целочисленной арифметики в CUDA?
В CUDA, как я могу определить, была ли моя последняя целочисленная арифметическая операция переполнена/переполнена или нет? Могу ли я получить значение флага переполнения?
442 просмотров
schedule
13.07.2022
Почему C # выдает ошибку, не может неявно преобразовать int в ushort против арифметики по модулю на ushorts?
В другом потоке кто-то спросил, почему добавление двух значений ushort вызывает ошибки в C#. например
ushort x = 4;
ushort y = 23;
ushort z = x+y; // ERROR cannot implicitly convert int to ushort
В этой ветке люди утверждали, что...
678 просмотров
schedule
13.07.2022
Добавление целых чисел без знака в Java 8 и потенциальное переполнение
Я выполняю упражнения из книги «Java SE 8 для очень нетерпеливых» Кея С. Хорстманна. Одно из упражнений, основанных на улучшениях в классах Number , спрашивает:
Напишите программу, которая складывает, вычитает, делит и сравнивает числа от 0...
2106 просмотров
schedule
18.07.2022