Tipos primitivos en Java

En la versión de 32 bits, el rango representable se calcula pensando en un bit de signo, una mantisa de 23 bits y un exponente de 8 bits con valores comprendidos entre -126 y 127.

En la versión de 32 bits, el rango representable se calcula pensando en un bit de signo, una mantisa de 23 bits y un exponente de 8 bits con valores comprendidos entre -126 y 127.

Además, el estándar prevé la representación de dos valores para cero (de derecha e izquierda), dos para infinito (positivo y negativo) y de valores NaN (no es un número) para utilizar, por ejemplo, como resultados de operaciones imposibles (por ejemplo, divisiones por cero).

TipoCantidad de MemoriaInformación representadaValor por defecto
byte8 bitsVariable con signo (con representación "two’s complement", complemento a dos) y representa valores en un rango [-128 y 127] (extremos incluidos)0
short16 bitsNúmeros enteros (con signo) en un rango [-32.768, 32.767]0
int32 bitsNúmeros enteros (por defecto con signo, firmado) en un rango [-231, 231-1]. Con Java 8 se introdujo la posibilidad de utilizar los int para representar cantidades unsigned que podrán tener rango [0, 232-1] (gracias a métodos estáticos introducidos en las clases Integer y Long)0
long64 bitsNúmeros enteros (por defecto con signo, firmado) en un rango [-263, 263-1]. Como para los enteros en Java 8, existe la posibilidad de utilizarlos como cantidades unsigned con rango (positivo) que llega hasta 264-1.0L
float32 bitsNúmeros en coma flotante en precisión simple según la especificación IEEE 754, utilizando la representación signo, mantisa, exponente.
(-1)signo * mantisa * 2exponente
0.0f
double64 bitsNúmeros en coma flotante en doble precisión según la especificación IEEE 754. La precisión con la que se representan los números aumenta en virtud del aumento del número de bits utilizados.0.0d
booleanNo especificado, pero sería suficiente un solo bitSirve para representar solamente 2 valores: verdadero o falso (true o false).false
char16 bitsSe utiliza para la memorización de caracteres del conjunto de caracteres Unicode) en el rango ['', '￿'] (en hexadecimal) o equivalentemente [0,65535].

Ejercicio

/* declaro tres tipos de variables diversas para testar su funcionamiento
*
* ejecuto en segunda instancia el siguiente ejercicio para testar el funcionamiento
* del ciclo while
*
* a) imprimo los números de 1 a 10 y
* b) imprimo los números de 1 a 20 y alcanzado el 20, continuo imprimiendo de manera
* decreciente de 20 a 1
* c) imprimo los números impares entre 1 y 100
* d) imprimo los números de 1 a 100 evidenciando los números múltiplos de 25
* e) imprimo los números de 1 a 100 de manera consecutiva en una sola línea, evidenciando los
* múltiplos de 100
* f) imprimo los números de 100 a 1, evidenciando los múltiplos de 7
*
*
* */

public static void main(String[] args) {

// byte gestiona los números de -128 a +127
// int  char
byte a;
a=-128;
//System.out.println(a);
//hemos testeado que el número gestionado por byte
// va de -128 a +127

int b;
b=+2147483647;
// System.out.println(b);

char c;
c='@';
int contatore=0;
while(contatore<=1000)
{
System.out.print(contatore + " \
System.out.print(c);
contatore++;
}

}

 

 

Recursos en línea sobre el tema:

http://www.di-srv.unisa.it/professori/masucci/LPII-0405/slides/Lez03.pdf