0 / 0 / 2
Регистрация: 13.09.2014
Сообщений: 60
|
|
1 | |
Как отследить переполнение переменной?20.08.2015, 20:14. Показов 2067. Ответов 4
Метки нет (Все метки)
0
|
20.08.2015, 20:14 | |
Ответы с готовыми решениями:
4
Как отследить переполнение в рекурсии? Как вызвать переполнение переменной? Переполнение при обращении к переменной Char Почему не происходит переполнение переменной типа float? |
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
20.08.2015, 20:33 | 2 |
Возможно через ассемблерную вставку, регистры EFLAGS - overflow flag.
0
|
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 697
|
|
21.08.2015, 19:33 | 3 |
Для умножения можно через логарифмы сделать, если ответ будет больше размерности типа данных - значит переполнение: 120 * 20 = 2400, т.е (ln(120) + ln(20)) / ln(2) = 12 байт для сохранения результата
Для сложения как-то так: Код
ЗНАК | ДЕЙСТВИЕ А | В | + | - - | - | С < 0 | HET + | - | HET | C > 0 - | + | HET | C < 0 + | + | C > 0 | HET smartpointer, какие нафиг вставки, подобные вопросы задают те, кто только циклы с условиями учить начал, к тому же вставки зависят от платформы
0
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
22.08.2015, 00:35 | 4 |
У gnu кросплатформенный ассемблер, если что (убогие компилеры vs в оборот не беру). Можно и так как вы предложили, а можно напрямую получить результат из регистра, что быстрее.
0
|
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 697
|
|
22.08.2015, 00:57 | 5 |
Я очень рад за гну и линь, но далеко не везде учатся на нём и то, что винда тоже есть никуда не денется, я только заметил про то, что уравень вопроса и ответа не стыкуются не под какими усилиями, ваш ответ конечно самый правильный, но он на данном этапе неприменим. Я тоже только начинаю учить язык и когда мне отвечают точно так же, то я с этим ничего сделать не могу, даже если очень захочу, а когда я повторяю вопрос, то в лучшем случае получаю ответ ни чуть не лучше, а то и отсыл в учебник, читая который я и задаю вопрос, потому что мне непонятно, в учебнике нет ответов совершенно на все вопросы, если бы я не читал ничего, то и вопроса бы не было, а была бы просьба сделать всё за меня
0
|
22.08.2015, 00:57 | |
22.08.2015, 00:57 | |
Помогаю со студенческими работами здесь
5
Определить, почему во втором варианте программы происходит переполнение при вычислении переменной dist Как отследить переполнение в int64 Отладчик VS 2010 - Как отследить программное изменение значения переменной Как визуально отследить изменение переменной в одном обработчике события? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |