W następującym kodzie C++, 32767 + 1 = -32768.Jak uniknąć przepełnienia liczby całkowitej?
#include <iostream>
int main(){
short var = 32767;
var++;
std::cout << var;
std::cin.get();
}
Czy istnieje sposób, aby zostawić "var" jako 32767, bez błędów?
Czy wiesz, co się tutaj dzieje? Udało ci się trafić w pułapkę na liczbę całkowitą (krótką), więc dodanie jeszcze jednego odwraca znaki do maksymalnej wartości ujemnej dla liczby całkowitej. – blu
Jeśli chcesz inny tryb, w którym liczby całkowite nie są automatycznie zawijane, to nie istnieje, przepraszam. – dmazzoni
To przypomina mi, dlaczego [nie mogę spać] (http://xkcd.com/571/). :-) –