Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Tipos primitivos en Java

Hola,

He estado leyendo sobre los tipos de datos primitivos en Java, y me he encontrado con las siguientes definiciónes:

byte: The byte data type is an 8-bit signed two's complement integer.
int: The int data type is a 32-bit signed two's complement integer.

En español he encontrado lo siguiente:
byte: enteros de 8 bit con signo, La representación interna es en complemento a 2.
int: enteros de 32 bit con signo. La representación interna es en complemento a 2.

Mi duda es:

1. Qué quiere decir un entero de 8 bits? o de 32?
2. Qué quiere decir que la representación interna es en complemento a 2?

Les agradecería mucho su ayuda para clarificar estas dudas.

Muchas gracias desde ya.

abril 30, 2012 | Unregistered CommenterAndrea

Aquí tienes todas las definiciones de tipos primitivos en Java:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

En concreto, según tu pregunta:

byte: It has a minimum value of -128 and a maximum value of 127
int: It has a minimum value of -2,147,483,648 and a maximum value of 2,147,483,647

Sobre complemento a dos:

http://en.wikipedia.org/wiki/Two's_complement

abril 30, 2012 | Registered Commenterchoces

Hola choces,

Gracias por tu respuesta.

Creo que me queda claro que el Complemento a 2 es un sistema o método que se usa sobre todo en la resta de números binarios, o para trabajar con números binarios negativos.

Lo que no me queda tan claro es qué quiere decir que, por ejemplo, el tipo byte es un entero de 8 bits.

Si convierto el máximo valor que puede tomar un byte (127) a binario, me da 1111111, es decir un total de 7 bits, y donde queda el octavo?

Gracias de nuevo.

abril 30, 2012 | Unregistered CommenterAndrea

El octavo bit es el signo ;)

Si usas los 8 bits para la representación del número, un byte sería 255

Fíjate bien en la definición de byte del enlace anterior:

byte: The byte data type is an 8-bit signed two's complement integer.

abril 30, 2012 | Registered Commenterchoces