-
No Java, um int tem 32 bits, mas o bit mais representativo é reservado para o sinal. Isto significa que os números que podemos representar variam de -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647)
-
Se vc usar o método Integer.parseInt(str) passando uma String maior que 2^31-1, uma NumberFormatException será lançada
-
Se vc usar o método Integer.parseUnsignedInt(str) passando uma String maior que 2^32-1, uma NumberFormatException será lançada (porque excede o número máximo que um unsigned int suporta)
-
Se vc usar o método Integer.parseUnsignedInt(str) passando uma String maior que 2^31-1 mas menor que 2^32-1 (ou seja, um número que cabe num unsigned int mas não cabe num int), o que o Java faz é:
- Transformar a String em binário