REPRESENTACIÓN INTERNA DE LOS DATOS
En el mundo real los datos que manejamos se
representan mediante letras, números, símbolos, imágenes, sonidos, etc.
Esto se conoce como representación externa de los datos.
Pero si queremos introducirlos en un
ordenador, todos estos elementos se deben transformar ó codificar para obtener así su representación interna.
Un ordenador está compuesto
fundamentalmente por circuitos electrónicos digitales. Los datos circulan por
estos circuitos en forma de impulsos eléctricos.
De forma muy simplificada podemos decir que
por un circuito pasa o no pasa corriente y esto lo podemos representar con dos
dígitos: 0 y 1.
Todos los datos e información que contiene
un ordenador, están representados de forma interna mediante secuencias de ceros
y unos.
Un sistema de representación que utiliza solamente dos símbolos ( 0 , 1 ) se llama sistema binario.
Un sistema de representación que utiliza solamente dos símbolos ( 0 , 1 ) se llama sistema binario.
Por tanto, los datos tal y como los
expresamos de forma natural se deben codificar de forma interna en binario para
que puedan ser tratados por el ordenador.
El
sistema binario utiliza solamente dos dígitos ( 0 y 1 ) llamados bits.
La
palabra bit procede de la unión de las palabras binary digit.
Un bit
es la unidad mínima de representación de información.
Utilizando
1 bit podremos solamente representar dos valores posibles: 0, 1.
Utilizando
2 bits podemos representar 4 valores: 00, 01, 10, 11.
Utilizando
3 bits podemos representar 8 valores:
000,
001, 010, 011, 100, 101, 110, 111.
Utilizando
4 bits podemos representar 16 valores:
0000,
0001, 0010, 0011, 0100, 0101, 0110, 0111.
En
general, utilizando N bits podremos
representar 2N
valores.
Ocho
bits forman un byte.
El byte
es la unidad básica de medida de la información.
Un byte
es la cantidad más pequeña de información que el ordenador puede manejar.
Con un
byte se pueden representar 28 = 256 caracteres.
En el
interior del ordenador los datos se transmiten y almacenan en grupos de bytes
llamados palabras.
La
longitud de palabra depende de cada tipo de ordenador: 8, 16, 32, 64.
TIPOS DE DATOS EN JAVA
Un dato siempre lleva asociado un tipo de
dato, que determina el conjunto de valores que puede tomar.
En Java toda la información que maneja un programa está representada por dos tipos principales de datos:- Datos de tipo básico o primitivo.
- Referencias a objetos.
Los tipos de datos básicos o primitivos no
son objetos y se pueden utilizar directamente en un programa sin necesidad de
crear objetos de este tipo. La biblioteca Java proporciona clases asociadas a
estos tipos que proporcionan métodos que facilitan su manejo.
Los tipos de datos primitivos que soporta
Java son:
Tipo de dato
|
Representación
|
Tamaño (Bytes)
|
Rango de Valores
|
Valor por defecto
|
Clase Asociada
|
byte
|
Numérico
Entero con signo
|
1
|
-128 a 127
|
0
|
Byte
|
short
|
Numérico
Entero con signo
|
2
|
-32768 a
32767
|
0
|
Short
|
int
|
Numérico
Entero con signo
|
4
|
-2147483648 a 2147483647
|
0
|
Integer
|
long
|
Numérico
Entero con signo
|
8
|
-9223372036854775808 a
9223372036854775807
|
0
|
Long
|
float
|
Numérico
en Coma flotante de precisión
simple Norma IEEE 754
|
4
|
±
1.40239846x10-45 a
± 3.40282347x1038 |
0.0
|
Float
|
double
|
Numérico
en Coma flotante de precisión
doble Norma IEEE 754
|
8
|
±
4.9406564584124654x10-324 a
± 1.7976931348623157x10308 |
0.0
|
Double
|
char
|
Carácter
Unicode
|
2
|
\u0000
a \uFFFF
|
\u0000
|
Character
|
boolean
|
Dato
lógico
|
-
|
true
ó false
|
false
|
Boolean
|
void
|
-
|
-
|
-
|
-
|
Void
|
DATOS NUMÉRICOS ENTEROS
En Java los representan los tipos: byte,
short, int, long.
El tipo de dato numérico entero es un
subconjunto finito de los números enteros del mundo real. Pueden ser positivos
o negativos.
Ejemplo de declaración de variables
enteras:
int a;
byte n1, n2;
short x;
DATOS NUMÉRICOS REALES
En Java
los representan los tipos: float, double.
El tipo de dato numérico real es un
subconjunto finito de los números reales. Siempre llevan un punto decimal y
también pueden ser positivos o negativos. Los números reales tienen una parte
entera y una parte decimal.
Por ejemplo: 0.08 -54.0001
Ejemplo de declaración de variables reales:
float peso;
double longitud;
float altura = 2.5F;
double area = 1.7E4; // equivale a 1.7 * 104
double z = .123; //si la parte
entera es 0 se puede omitir
DATOS DE TIPO CARÁCTER
En Java
se representa con el tipo char.
Un dato
de tipo carácter se utiliza para representar un carácter dentro del rango
\u0000 a \uFFFF (números desde 0 hasta 65535) en Unicode.
En
realidad un dato de tipo char contiene un número entero dentro del rango
anterior que representa un carácter.
En Java
se utiliza el código Unicode para la representación de caracteres. Este código
actualmente representa los caracteres de la mayoría de idiomas escritos en todo
el mundo.
Los 127 primeros caracteres de Unicode
corresponden al código ASCII.
El Código ASCII (American Standard Code for Information Interchange o Código Estándar Americano para el Intercambio de
Información) asigna valores numéricos a las letras, números, signos de
puntuación y algunos otros caracteres especiales.
ASCII incluye 256 códigos divididos en dos conjuntos, estándar
y extendido, de 128 cada uno. El conjunto ASCII básico, o estándar, utiliza 7 bits
para cada código, lo que da como resultado 128 códigos de caracteres desde 0 hasta 127.
El conjunto ASCII extendido utiliza 8 bits para cada código, dando como
resultado 128 códigos adicionales, numerados desde el 128 hasta el 255.
En el conjunto de caracteres ASCII básico, los
primeros 32 valores están asignados a los códigos de control de comunicaciones
y de impresora (caracteres no imprimibles) empleados para controlar la forma en
que la información es transferida desde una computadora a otra o desde una
computadora a una impresora. En este grupo están los códigos correspondientes a la
barra espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo
renglón (CR por carry return), etc. También existen caracteres de control usados en
teleprocesamiento, como ser ACK (Acknowledge - aviso de mensaje recibido), BEL
(bell - aviso por señal sonora), ETX (end of text – fin de texto), STX (start
of text – comienzo de texto), etc.
Los 96 códigos restantes del código básico
corresponden a los caracteres imprimibles y se asignan a los signos de
puntuación corrientes, a los dígitos del 0 al 9 y a las letras mayúsculas y
minúsculas del alfabeto latino.
Los códigos correspondientes al ASCII extendido,
del 128 al 255, se asignan a aquellos caracteres que no pertenecen al alfabeto
anglosajón, por ejemplo, las vocales con tilde, la ñ, y en general todos los
caracteres especiales que utilizan los distintos lenguajes.
Debido a lo limitado de su tamaño, el código
ASCII no es suficiente para representar caracteres de alfabetos como el
Japonés, Chino o árabe. La solución a este problema ha sido crear un código más
grande con el que poder representar cualquier carácter de cualquier idioma: el
código Unicode.
El
código UNICODE
proporciona una única representación numérica para cada símbolo,
independientemente del ordenador, el programa o el lenguaje de programación que
se use.
La codificación Unicode se ha transformado en un estándar
adoptado por las principales empresas de hardware y software. Java utiliza la codificación Unicode.
La descripción completa del estándar y las tablas de
caracteres están disponibles en la página web oficial de Unicode http://www.unicode.org/. La referencia
completa se publica, además, en forma de libro impreso cada vez que se libera
una nueva versión principal. La versión digital de este libro está disponible
de forma gratuita.
Ejemplo de declaración de variables de tipo
carácter:
char car;
char letra1 = 'z';
char
letra = '\u0061'; //código unicode del carácter ‘a’
DATOS DE TIPO LÓGICO
Se representan
con el tipo boolean.
Los
datos de este tipo sólo pueden contener dos valores: true (verdadero) ó false (falso).
Ejemplo de declaración de variables
lógicas:
boolean
primero;
boolean
par = false;
Los
tipos de datos lógicos son también conocidos como booleanos en honor del matemático
inglés George Bool, que desarrolló la teoría conocida como álgebra de bool que
fue la base para la representación de los circuitos lógicos.
Y el tipo Void? que significa??
ResponderEliminarvoid no es realmente un tipo de dato primitivo, de hecho no podemos declarar variables de tipo void, pero debemos utilizarlo por ejemplo para indicar que un método no devuelve nada. En java se debe escribir siempre el tipo de dato que devuelve un método. Si el método no devuelve nada escribimos que el tipo devuelto es void.
EliminarPuesto a que void literalmente en ingles quiere decir "Vacio", por esto se usa para indicar que no retorna nada o que el tipo de dato que retorna es "vacio".
EliminarLA VERDAD ES QUE NO ENTIENDO NADA:)
EliminarUnUnUnUnUnU
EliminarX2 no entendí
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminaren short puso punto
ResponderEliminarGracias por avisar Manuel. Ya está corregido.
Eliminarmuy buen aporte ... de pronto sabes como representar un dato que contenga números y letras , me pusieron a pedir la placa de algún carro, pero hasta ahora no he podido, gracias
ResponderEliminarusa String,
ResponderEliminarString matricula= "123-ABC";
String acepta cualquier cadena de texto, a-z, A-Z,0-0, entre simbolos como llaves, corchetes, pero te recomiendo que lo uses para letras y numeros
No seria que con 1 byte se puede representar 256 valores? ya que con 1 byte se representa un caracter,
ResponderEliminarno 256 caracteres.
estoy de acuerdo con tigo @corpsemaiden, solo que el tipo de datos byte es de tipos entero y tiene un rango en memoria de -128 a 127 valor numerico que es en total el minimo y maxico valor que tu puedes ingresar
EliminarEs el bit la unidad mínima de representación de información o el byte?
ResponderEliminarbit
EliminarDavid: Un byte son 8 bits.
EliminarLa unidad mínima de información es el bit. Pero lo mínimo que la memoria de un computador puede manejar es 1 byte
EliminarEspero haber aclarado la duda
La unidad mínima de información es 1 bit. Sin embargo, los microprocesadores de los computadores actuales trabajan con la memoria en segmentos de 1 byte (direccionamiento de memoria). Ahora comprenderás por qué las variables de tipo boolean ocupan 1 byte, y no 1 bit.
EliminarEspero haberles aclarado la duda
Talves no tenga nada que ver pero, como hago para que un valor con el identificador "Nombre" al mecionarse en System.out.printiln("Hola soy " nombre) muestre en consola:
ResponderEliminarHola soy Joel
seria: final char nombre = Joel;?
Hola Joel!
EliminarRespondiendo tu pregunta el nombre Joel es una cadena de caracteres, por tal motivo el tipo debe ser String.
Ejemplo:
String nombre = "Joel";
System.out.println("Hola soy " +nombre);
Saludos!
Gracias
EliminarHola ampliando la pregunta de Joel montañez.. kisiera saber si me podrías orientar en como hacer que el prgrama me pida escribir un nombre cualkiera y luego imprima en pantalla la misma frase pero con el nombre que le puse.. por ejemplo: Hola soy Martín.. pork supongo k el nombre Joel.. es constante.. ... no sé si me dejé entender.. gracias por la respuesta.....
Eliminar// ----> java
Eliminarimport java.util.Scanner;
public class Ver
{
public void retorno()
{
Scanner sc = new Scanner(System.in);
String var = "";
System.out.print("ingrese su nombre: ");
var = sc.next();
System.out.print("Bienbevido Sr: " + var);
}
}
muy largo lo haces el código para colocar un nombre!!!
Eliminarkgei
Eliminarcomo puedo crear una aplicacion en java que acepte numeros reales hasta poner la palabra "Fin". y que me mande un mensaje de aprobacion o rechazo del número ingresado ??
ResponderEliminargg
ResponderEliminarHola como puedo crear una máscara de ceros y uno para una secuencia de números de tal forma que se asigne un 0 para los valores positivos y el 1 para los negativos.
ResponderEliminarEjemplo: La secuencia: 1, -3, -5, 8, 9, -6, -43, -8 tendría la siguiente máscara: 01100111.
hola me puedes ayudar .... tengo un campo de tipo bytea en postgres y en netbeans a este campo lo declare de tipo image... y tengo un metodo llamado obtenerfacultades...me sale un error de imcopatibilidad de tipos ..
ResponderEliminarhola necesito hacer lo siguiente:
ResponderEliminarse posee una matriz de 4x3 y se desea ingresar números pares del 1-20 (utilizar un ciclo y función mod)
Un post genial, cortito, al grano y muy bien explicado. Gracias!
ResponderEliminarGracias Lulu ;)
EliminarCuales son los dato numerico de Java?
ResponderEliminargracias, bastante claro y sobre todo fácil de aprender
ResponderEliminarVean : https://www.youtube.com/watch?v=Zz7YZtpz2Ek
ResponderEliminarSaludos, ¿si no es molestia de pronto me podría ayudar con la siguiente consulta?, en Java hay algún dato entero sin signo de 8 bits que tenga el rango desde 0 a 255, como en C# es el byte.
ResponderEliminarTenga buen día y de antemano le agradezco por la ayuda brindada.
Por que al sumar 2 tipos de variables enteras no da exacto? ejemplo 2.44 + 5.33 = 7.7699999999999999
ResponderEliminar