En las matemáticas puras, un valor no tiene un límite de espacio para su representación, sin embargo, las computadoras generalmente trabajan con un número fijo de bits.Stallings, W. (2018). *Computer Organization and Architecture*. Pearson.
Bit
A la unidad mínima de información en una computadora se le llama bit. Con un bit se puede representar sólo un valor de dos posibles valores diferentes; por ejemplo: cero o uno, falso o verdadero, blanco o negro, abajo o arriba, no o sí, etc.Tanenbaum, A. S., & Austin, T. (2012). *Structured Computer Organization*. Pearson.
Nibble
Un nibble es una colección de 4 bits. No sería un tipo de dato interesante a excepción de que con un nibble se presenta un número BCD y también que un nibble puede representar un dígito hexadecimal.Patterson, D. A., & Hennessy, J. L. (2017). *Computer Organization and Design RISC-V Edition: The Hardware Software Interface*. Morgan Kaufmann.
Byte thumb|175px|right|Nibbles de un byte.
Sin lugar a dudas, el tipo de datos más importante para los microprocesadores es el byte. Un byte consta de 8 bits.Stokes, J. (2007). *Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture*. No Starch Press. Las referencias hacia cierta localidad de memoria en todos los microprocesadores nunca es menor que un byte (la mayoría usan múltiplos de bytes), por lo tanto, se considera el dato localizable (direccionable) más pequeño.
Los bits de un byte normalmente se numeran desde 0 hasta 7. Al bit 0 se le llama bit de más bajo orden o menos significante y al bit 7 se le considera el bit de más alto orden o el más significante.
Un byte consta también de 2 nibbles; los bits 0, 1, 2 y 3 forman el llamado nibble de menor orden, y los bits 4, 5, 6 y 7 forman el nibble de mayor orden. Como un byte está formado por exactamente dos nibbles, es posible representar cualquier valor con dos dígitos hexadecimales.Mano, M. M., & Ciletti, M. D. (2017). *Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog*. Pearson.
Palabra thumb|350px|right|Nibbles y bytes de una palabra.
Una palabra es un grupo de 16 bits, el bit 0 es el bit de más bajo orden y el bit 15 es el de más alto orden.Null, L., & Lobur, J. (2015). *The Essentials of Computer Organization and Architecture*. Jones & Bartlett Learning. Una palabra se puede dividir en 2 bytes llamados igualmente de bajo y alto orden. También una palabra puede considerarse como un grupo de 4 nibbles.
Se considera una palabra doble a un grupo de 32 bits. Un grupo de mayor número de bits simplemente se nombra por su número de bits, ejemplo: palabra de 64 bits, palabra de 128 bits, etc.
Números enteros
Con un número fijo de bits podemos representar cierto número de objetos. Por ejemplo, con 8 bits podemos representar 256 objetos diferentes.Knuth, D. E. (1997). *The Art of Computer Programming, Volume 2: Seminumerical Algorithms*. Addison-Wesley. Si se usara un esquema de números enteros positivos cada uno de estos objetos se numerarían de 0 a 255:
Bits Número decimal 00000000 0 00000001 1 00000010 2 00000011 3 00000100 4 ... ... 11111110 254 11111111 255
También es posible usar un esquema de números enteros negativos, en cuyo caso se usa el sistema complemento a dos, donde el bit de mayor orden es el bit de signo.Harris, D. M., & Harris, S. L. (2012). *Digital Design and Computer Architecture*. Morgan Kaufmann. Si tal bit es cero, el número es positivo, si es uno, el número es negativo. Si el número es positivo es almacenado en su valor binario estándar, si el número es negativo se almacena en su forma complemento a dos. Ejemplos:
Bits Número decimal Bits Número decimal 00000000 0 00000001 1 11111111 -1 00000010 2 11111110 -2 00000011 3 11111101 -3 00000100 4 11111100 -4 ... ... ... ... 01111110 126 10000010 -126 01111111 127 10000001 -127 10000000 -128
Números coma flotante thumb|450px|Representación binaria de números en coma flotante de doble precisión.
La forma en que la arquitectura de computadoras resuelve el problema de representar números reales es por medio de los números de coma flotante.Goldberg, D. (1991). *What Every Computer Scientist Should Know About Floating-Point Arithmetic*. ACM Computing Surveys, 23(1). Un número coma flotante se divide en 3 secciones de bits: signo, significante y exponente con signo.
Ejemplo de coma flotante de 8 bits b7 b6 b5 b4 b3 b2 b1 b0
Este ejemplo consta de un entero flotante hipotético de 8 bits donde el bit 7 corresponde al signo del número, el bit 6 al signo del exponente, los bits 5 y 4 al exponente y los bits 3,2,1 y 0 al significante. Ejemplos de números para este caso serían:
Con los números punto flotante hay un rango limitado para representar cantidades, emplear números fuera del rango resultará en overflow o en underflow.Overton, M. L. (2001). *Numerical Computing with IEEE Floating Point Arithmetic*. SIAM. Hay un número finito de números reales que puede ser representado dentro del rango. El significante se normaliza. La forma más común de usar puntos flotantes es como lo dicta el IEEE 754.IEEE Computer Society. (2019). *IEEE Standard for Floating-Point Arithmetic (IEEE 754-2019)*.
Referencias
Categoría:Teoría de la información *