Certificação Java - 2 - Literals and Ranges of All Primitive Data Types (Exam Objective 4.6)
Continuando nosso estudo, vamos conhecer um pouco mais sobre tipos primitivos e valores literais para Strings, usando todos os formatos, bases e representações permitidos.
Introdução
Para o exame, você precisa conhecer as escalas de todos os dados primitivos, que são: byte, short, int, long, float, double, boolean, and char. O tipo primitivo long, por exemplo, tem uma escala que vai de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Memorize todas as escalas.
Para falar a verdade, você não precisa realmente memorizar tais números. Há um método mais fácil para se calcular as escalas, e para os valores inteiros muito grande será necessário saber apenas que 16 bits traz para você mais de 60.000 possibilidades, 32 bits dá aproximadamente 4 bilhões, e por aí vai. Mas você precisa saber que todos os tipos numéricos (inteiro e ponto-flutuante) são assinados, e como isso afeta a escala. Primeiramente, vamos rever os conceitos.
Todos os seis tipos numéricos em Java são assinados, significando que eles podem ser positivos ou negativos. O bit mais à esquerda (o dígito mais significativo) é usado para representar o sinal, onde o 1 significa negativo e o 0 significa positivo.
Para falar a verdade, você não precisa realmente memorizar tais números. Há um método mais fácil para se calcular as escalas, e para os valores inteiros muito grande será necessário saber apenas que 16 bits traz para você mais de 60.000 possibilidades, 32 bits dá aproximadamente 4 bilhões, e por aí vai. Mas você precisa saber que todos os tipos numéricos (inteiro e ponto-flutuante) são assinados, e como isso afeta a escala. Primeiramente, vamos rever os conceitos.
Escala dos tipos primitivos
Todos os seis tipos numéricos em Java são assinados, significando que eles podem ser positivos ou negativos. O bit mais à esquerda (o dígito mais significativo) é usado para representar o sinal, onde o 1 significa negativo e o 0 significa positivo.

Vamos entender o que diz a tabela acima. Lembrando, o bit de sinal (sign bit) é 0 para positivo e 1 para negativo. No caso do byte, 7 bits podem representar 2^7 (^ é igual a elevado) ou 128 valores diferentes, de 0 a 127 ou -128 a -1. No caso do short, 15 bits podem representar 2^15 ou 32768 valores, de 0 a 32767 ou -32768 a -1.