|
|
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. Можно ли каким-нибудь способом проверить, вызовит ли операция переполнение типов, не переходя при этом к типу с большей емкостью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 11:24 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Аналитически. Например, при сложении, вычитаешь из максимального значения a, а потом стравниваешь его с b. Если b оказалось больше, то будет переполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 12:57 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Sandro_KМожно ли каким-нибудь способом проверить, вызовит ли операция переполнение типов, не переходя при этом к типу с большей емкостью? можно попытаться заюзать азм. после операций обрабатывать флаг переноса... (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 14:13 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 15:09 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Aklin Код: plaintext a = -5; b = 1; переполнения НЕ будет... Ваш пример отработает на ура... (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 15:34 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
извратился: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 15:45 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
error handling ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 15:53 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Aklinизвратился:... гы началось в колхозе утро... а может просто ансигнет инт ? ик... (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:00 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:04 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
kolobok0 Aklinизвратился:... гы началось в колхозе утро... а может просто ансигнет инт ? ик... (круглый) Тады уж long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:27 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
AkhТады уж long нее..имелось ввиду не размер на битик больше..а уход от двоякости, чтоб однозначно иф работал...правда думаю придёться отрицательные обрабатывать ручками тодысь... (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:30 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Я сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:35 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
я смеялся, насколько я умный: Код: plaintext 1. единственное: делайте копии!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:49 |
|
||
|
Проверка на переполнение типа
|
|||
|---|---|---|---|
|
#18+
Sandro_KЯ сделал так: [src c++] #include <limits> template<typename T> bool CanAdd(const T& a, const T& b) { return b <= (std::numeric_limits<T>::max() - a); } ... О! Мой вариант. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2006, 16:50 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2030436]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
428ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 732ms |

| 0 / 0 |
