Когда целое число выходит за пределы диапазона типа, максимальное значение + 1 добавляется / вычитается (зависит от того, в какой части диапазона было это число). Например,
unsigned short num = 65537;
num будет иметь значение 1 (было вычтено 65536). У меня вопрос: почему это происходит? Моя интуиция подсказывает мне, что это как-то связано с флагом переноса и флагом переполнения, потому что максимальное значение всегда равно 1111 ....
Заранее спасибо!
warning: large integer implicitly truncated to unsigned type
- person curiousguy   schedule 23.07.2012