Pytania oznaczone «integer-overflow»

Przepełnienie liczby całkowitej występuje, gdy wynik operacji jest większy niż maksymalna wartość, która może być reprezentowana przez bazowy typ liczby całkowitej.

241
(-2147483648> 0) zwraca true w C ++?

-2147483648 jest najmniejszą liczbą całkowitą dla typu liczb całkowitych z 32 bitami, ale wydaje się, że przepełni się w if(...)zdaniu: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Zostanie to wydrukowane truepodczas moich testów. Jeśli jednak użyjemy...

161
Jak uniknąć przepełnienia w wyrażeniu. A * B - C * D

Muszę obliczyć wyrażenie, które wygląda następująco:, A*B - C*Dgdzie ich typy to: signed long long int A, B, C, D; Każda liczba może być naprawdę duża (nie przepełniać swojego typu). Chociaż A*Bmoże spowodować przepełnienie, w tym samym czasie wyrażenieA*B - C*D może być naprawdę małe. Jak mogę to...