Tamanho das variáveis

Pessoal, sou iniciante na programação e tenho uma dúvida, bom, parece boba, mais se alguém esclarecece para mim eu ficaria muito grato e serviria muito para o meu aprendizado.
Quanto você vai estudar variáveis começa por exemplo:

“int
Números inteiros de 32bits. Pode assumir valores entre -2.147.483.648 até 2.147.483.647”

Ai está um exemplo da variável integer. Bom mais o que eu não entendo é o seguinte o que esse assumir valores entre “-2.147.483.648 até 2.147.483.647”, o que significa esses números, queria que alguem me explicace isso.

Fico muito grato. :slight_smile:

-2.147.483.648 até 2.147.483.647 é o intervalo dos valores que sua variável integer pode ocupar.

Ex: $_quantidadePessoas = 2.147.483.647;

uma variável integer poderá assumir essa quantidade de valores, porém se esse número for ultrapassado o mesmo será definido como infinito.

Este núnero estranho tem sentido.
o tipo int possui 32 bits. 2 elevado a 32 = 4294967296. 4294967296 como não são somente números positivos. 4294967296 dividido por 2 = 2147483648.

Para simplificar tem o tipo byte possui 8 bits, que suporta valores de -128 a 127 = 256. 2^8 = 256.

Estes são os tamanhos das variáveis

[list]boolean Pode assumir o valor true ou o valor false[/list][list]char Caractere em notação Unicode de 16 bits. Serve para a armazenagem de dados alfanuméricos. Também pode ser usado como um dado inteiro com valores na faixa entre 0 e 65535.[/list][list]byte Inteiro de 8 bits em notação de complemento de dois. Pode assumir valores entre -27=-128 e 27-1=127.[/list][list]short Inteiro de 16 bits em notação de complemento de dois. Os valores possívels cobrem a faixa de -2-15=-32.768 a 215-1=32.767[/list][list]int Inteiro de 32 bits em notação de complemento de dois. Pode assumir valores entre -231=2.147.483.648 e 231-1=2.147.483.647.[/list][list]long Inteiro de 64 bits em notação de complemento de dois. Pode assumir valores entre -263 e 263-1.[/list][list]float Representa números em notação de ponto flutuante normalizada em precisão simples de 32 bits em conformidade com a norma IEEE 754-1985. O menor valor positivo represntável por esse tipo é 1.40239846e-46 e o maior é 3.40282347e+38[/list][list]double Representa números em notação de ponto flutuante normalizada em precisão dupla de 64 bits em conformidade com a norma IEEE 754-1985. O menor valor positivo representável é 4.94065645841246544e-324 e o maior é 1.7976931348623157e+308[/list]

[quote=web.alberto.cruz]-2.147.483.648 até 2.147.483.647 é o intervalo dos valores que sua variável integer pode ocupar.

Ex: $_quantidadePessoas = 2.147.483.647;

uma variável integer poderá assumir essa quantidade de valores, porém se esse número for ultrapassado o mesmo será definido como infinito.[/quote]

Na verdade o valor não é definido como infinito, caso o valor estoure ele provavelmente assumirá um valor negativo, pois o bit que sinaliza se um valor é negativo será “acionado”, um exemplo simples só para testar:

[code]public class Teste {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	int i = 2147483647;	
	System.out.println("Valor de i: " + i);
	i++;
	System.out.println("Valor de i: " + i);
}

}[/code]

A saida é essa:

Valor de i: 2147483647 Valor de i: -2147483648