Computer Science 433_Enespañol

Páginas: 7 (1570 palabras) Publicado: 2 de julio de 2017
Computer Science 433
Lenguajes de Programación
Colegio de Santa Rosa – otoño 2010
Notas del tema: Tipos de datos
Un tipo de datos es una colección de valores y un conjunto de operaciones predefinidas sobre esos valores. Es una abstracción, ya que los detalles de la representación se ocultan al usuario.
Un descriptor es la colección de los atributos de una variable. Más adelante explicaremos estaidea. Estos atributos son a veces necesarios solo para el tiempo de compilación (si todos los atributos son estáticos) o pueden necesitar mantenerse en el tiempo de ejecución.
Un objeto representa una instancia de un tipo definido por el usuario (datos abstractos).
Un problema de diseño para todos los tipos de datos: ¿Qué operaciones se definen y cómo se especifican?
Tipos de datos primitivos
Lostipos primitivos de datos son proporcionados por la mayoría de los lenguajes. Estos no se definen en términos de otros tipos de datos. A menudo son exactamente los tipos de datos que soporta el hardware, o muy similares. Esto hace que las operaciones en estos potencialmente muy eficiente.
Enteros
Los tipos de datos enteros en nuestros lenguajes normalmente corresponden directamente a los tamañosde los bloques de bits en los que el hardware fundamental puede operar.
Java define 4 tamaños: byte: 8 bits, short: 16 bits, int: 32 bits, y long 64 bits. Esto es parte de la especificación del lenguaje Java.
En algunos idiomas, como C, el tamaño de varios tipos de enteros puede variar de implementación a implementación.
Un entero de 32 bits puede tener 232 = 4.3 billones valores posibles,mientras un entero de 64 bits tiene 264 = 1.84 x 1019 valores posibles.
La importancia de bit y byte es también una consideración importante. Es muy importante desde una perspectiva de arquitectura, pero también puede desempeñar un papel en los lenguajes de programación.
Cuando se colocan los bits dentro de un byte, se disponen casi siempre con el bit más significativo (msb) en el bit de menorimportancia (lsb) a la izquierda. Esto casi nunca entra en juego con un lenguaje de programación.
Seguimos con la misma idea de encadenar bytes juntos para hacer palabras, palabras largas, etc.

La endianidad se refiere al orden en que almacenamos estos bytes en la memoria.
Endian pequeño (x86)






Endian Grande (Sun Sparc, 68K, PPC, IP “orden de bytes de red” )

Una arquitectura puede utilizar cualquierade los pedidos internamente, siempre y cuando sea coherente. Sin embargo, la endianidad llega a ser importante cuando pensamos en intercambiar datos entre máquinas (redes). El orden de los bytes de la red (endian grande) se requiere de la red de datos para la coherencia al intercambiar datos entre las máquinas que pueden utilizar diferentes representaciones internas.
La arquitectura MIPS esbi-endian. Puede procesar datos con un endian grande o pequeño.
Ver Ejemplo:
/home/cs433/examples/show bytes
Los valores enteros pueden tratarse con signo o sin signo. Para un entero de n-bits, la representación sin signo puede almacenar valores de 0 a 2n - 1.
La representación con signo requieren tener una forma de representar los números negativos. Resulta que hay una serie de opciones razonables oal menos aparentemente razonables.
Magnitud de Signo
La forma más simple es tomar uno de nuestros bits (usualmente el bit de orden más alto) y usarlo para indicar el signo: a 0 significa positivo y a 1 significa negativo.
Con n bits, nosotros podemos ahora representar números desde –(2n-1-1) a (2n-1-1)
Los números positivos solo usan la representación sin signo.
Los números negativos usan un 1 enel bit de signo luego almacenan la magnitud del valor en el resto.

Positivo
Negativo

Bit Signo magnitud
Esta idea es muy sencilla y tiene sentido en la práctica:
- Para negar un valor, basta con cambiar su bit de signo.
- Para comprobar si un valor es negativo, basta con mirar un bit.
Una preocupación potencial: tenemos dos ceros! +0 y -0 son valores distintos. Esto puede complicar las...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Science Computer
  • Computer and science
  • Introduction To Computer Science
  • Tarea 8 Computer Science Tecmilenio
  • Science Computer Science
  • Computer Science
  • Computer science
  • computer science

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS