De Wikipedia, la enciclopedia libre
  (Redirigido desde el bit más significativo )
Saltar a navegación Saltar a búsqueda

En informática , la numeración de bits es la convención utilizada para identificar las posiciones de los bits en un número binario o un contenedor de dicho valor. El número de bit comienza con cero y se incrementa en uno para cada posición de bit subsiguiente.

Poco menos significativo [ editar ]

La representación binaria del decimal 149, con el LSB resaltado. El MSB en un número binario de 8 bits representa un valor de 128 decimal. El LSB representa un valor de 1.

En informática , el bit menos significativo ( LSB ) es la posición del bit en un entero binario que da el valor de las unidades, es decir, determina si el número es par o impar. El LSB se refiere a veces como el bit de orden inferior o más a la derecha poco , debido a la convención en la notación posicional de escribir los dígitos menos significativos más a la derecha. Es análogo al dígito menos significativo de un entero decimal , que es el dígito en la posición de las unidades (más a la derecha). [1]

Es común asignar a cada bit un número de posición, que va de cero a N-1, donde N es el número de bits en la representación binaria utilizada. Normalmente, el número de bit es simplemente el exponente para el peso bit correspondiente en base 2 (tal como en 2 31 ..2 0 ). Algunos fabricantes de CPU han asignado números de bits al revés (que no es lo mismo que diferentes endianidades ). En cualquier caso, el bit menos significativo en sí mismo permanece inequívoco como bit unitario.

Los bits menos significativos (plural) son los bits del número más cercano e incluido el LSB. Los bits menos significativos tienen la útil propiedad de cambiar rápidamente si el número cambia aunque sea levemente. Por ejemplo, si se suma 1 (binario 00000001) a 3 (binario 00000011), el resultado será 4 (binario 00000100) y tres de los bits menos significativos cambiarán (011 a 100). Por el contrario, los tres bits más significativos (MSB) permanecen sin cambios (000 a 000). Debido a esta volatilidad, los bits menos significativos se emplean con frecuencia en generadores de números pseudoaleatorios , herramientas esteganográficas , funciones hash y sumas de comprobación .

La parte menos significativa de la esteganografía digital [ editar ]

Un diagrama que muestra cómo manipular las partes menos significativas de un color puede tener un efecto muy sutil y generalmente imperceptible en el color. En este diagrama, el verde está representado por su valor RGB, tanto en decimal como en binario. El cuadro rojo que rodea los dos últimos bits ilustra los bits menos significativos cambiados en la representación binaria.

En la esteganografía digital , los mensajes sensibles pueden ocultarse manipulando y almacenando información en los bits menos significativos de una imagen o un archivo de sonido. Posteriormente, el usuario puede recuperar esta información extrayendo los bits menos significativos de los píxeles manipulados para recuperar el mensaje original. Esto permite que el almacenamiento o la transferencia de información digital permanezcan ocultos.

Byte menos significativo [ editar ]

LSB también puede representar el byte menos significativo . [2] El significado es paralelo al anterior: es el byte (u octeto ) en esa posición de un número multibyte el que tiene el menor valor potencial.

Bit más significativo [ editar ]

La representación binaria sin signo del decimal 149, con el MSB resaltado. El MSB en un número binario sin signo de 8 bits representa un valor de 128 decimal. El LSB representa un valor de 1.

En informática , el bit más significativo ( MSB ) es la posición del bit en un número binario que tiene el mayor valor. El MSB se refiere a veces como el bit de orden superior o poco más a la izquierda debido a la convención en la notación posicional de escribir los dígitos más significativos más a la izquierda.

El bit de signo es el MSB en un número binario con signo . En la notación de complemento a uno y dos , "1" significa un número negativo y "0" significa un número positivo.

Es común asignar a cada bit un número de posición que va de cero a N − 1, donde N es el número de bits en la representación binaria utilizada. Normalmente, el número de bit asignado es simplemente el exponente del peso de bit correspondiente en base 2 (como en ). Algunos fabricantes de CPU asignan números de bits de manera diferente. Independientemente de la numeración, el MSB sigue siendo el bit más significativo.231..20

Byte más significativo [ editar ]

MSB también puede significar " byte más significativo ". [3] El significado es paralelo al anterior: es el byte (u octeto ) en esa posición de un número multibyte el que tiene el mayor valor potencial.

Para evitar esta ambigüedad, a menudo se utilizan los términos menos abreviados " MSbit " o " MSbyte ". [4] [5] [6]

Ejemplo de entero sin signo [ editar ]

Esta tabla ilustra un ejemplo de valor decimal de 149 y la ubicación de LSB. En este ejemplo particular, la posición del valor unitario (decimal 1 o 0) se encuentra en la posición de bit 0 (n = 0). MSB significa Bit más significativo, mientras que LSB significa Bit menos significativo.

La posición de LSB es independiente de cómo se transmite la posición del bit (algunos sistemas transmiten MSB primero, otros transmiten LSB primero), que es más un tema de Endianness .

El bit más y el menos significativo primero [ editar ]

Las expresiones bit más significativo primero y bit menos significativo primero son indicaciones sobre el orden de la secuencia de los bits en los bytes enviados a través de un cable en un protocolo de transmisión o en un flujo (por ejemplo, un flujo de audio).

El bit más significativo primero significa que el bit más significativo llegará primero: por lo tanto, por ejemplo, el número hexadecimal 0x12, 00010010en representación binaria, llegará como la secuencia 0 0 0 1 0 0 1 0.

El bit menos significativo primero significa que el bit menos significativo llegará primero: por lo tanto, por ejemplo, el mismo número hexadecimal 0x12, nuevamente 00010010en representación binaria, llegará como la secuencia (invertida) 0 1 0 0 1 0 0 0.

Numeración de bits LSB 0 [ editar ]

LSB 0: un contenedor para un número binario de 8 bits con el bit menos significativo resaltado asignado el número de bit 0

Cuando la numeración de bits comienza en cero para el bit menos significativo (LSB), el esquema de numeración se denomina "LSB 0". [7] Este método de numeración de bits tiene la ventaja de que para cualquier número sin signo, el valor del número se puede calcular mediante exponenciación con el número de bit y una base de 2. [8] El valor de un entero binario sin signo es, por lo tanto

donde b i denota el valor del bit con el número i , y N denota el número de bits en total.

Numeración de 0 bits MSB [ editar ]

MSB 0: un contenedor para un número binario de 8 bits con el bit más significativo resaltado asignado el número de bit 0

De manera similar, cuando la numeración de bits comienza en cero para el bit más significativo (MSB), el esquema de numeración se denomina "MSB 0".

Por tanto, el valor de un entero binario sin signo es

Otro [ editar ]

El operador elem de ALGOL 68 es efectivamente "numeración de bits MSB 1" ya que los bits se numeran de izquierda a derecha, siendo el primer bit (bits elem 1) el "bit más significativo", y la expresión (bits elem bits de ancho) dando el "bit menos significativo". De manera similar, cuando los bits son coaccionados (encasillados) a una matriz de booleanos ([] bits bool ), el primer elemento de esta matriz (bits [ lwb bits]) es nuevamente el "bit más significativo".

Para la numeración MSB 1, el valor de un entero binario sin signo es

PL / I numera las cadenas de BIT que comienzan con 1 para el bit más a la izquierda.

La función Fortran BTEST utiliza la numeración LSB 0.

Uso [ editar ]

Las CPUs Little-endian generalmente emplean numeración de bits "LSB 0", sin embargo, ambas convenciones de numeración de bits se pueden ver en máquinas big-endian . Algunas arquitecturas como SPARC y Motorola 68000 usan numeración de bits "LSB 0", mientras que S / 390 , PowerPC y PA-RISC usan "MSB 0". [9]

El estilo recomendado para los documentos de solicitud de comentarios (RfC) es la numeración de bits "MSB 0". [10] [11]

La numeración de bits suele ser transparente para el software , pero algunos lenguajes de programación como Ada y los lenguajes de descripción de hardware como VHDL y verilog permiten especificar el orden de bits apropiado para la representación del tipo de datos. [12]

Ver también [ editar ]

  • ARINC 429
  • Sistema de numeración binaria
  • Representaciones de números firmados
  • Complemento a dos
  • Endianidad
  • Logaritmo binario
  • Unidad en último lugar (ULP)
  • Encuentra el primer conjunto
  • Dirección MAC: notación de bits invertidos

Referencias [ editar ]

  1. ^ "La ordenación de bits de los formatos IBM SNA es opuesta a la Convención de Intel" . Microsoft . 2014-02-23.
  2. Buczynski, Don (5 de septiembre de 2002). "Tutorial MSB / LSB" .[ fuente autoeditada? ]
  3. ^ Rouse, Margaret (septiembre de 2005). "bit o byte más significativo" . TechTarget .
  4. II, Patrick J. Sweeney (11 de marzo de 2010). RFID para tontos . John Wiley e hijos. ISBN 9781118054475.
  5. ^ "Formato de mapa de bits de amuleto" . web.mit.edu . Consultado el 25 de febrero de 2018 .
  6. ^ "Memoria MAYHEM! Memoria, ordenación y alineación de bytes" . www.cs.umd.edu . Consultado el 25 de febrero de 2018 .
  7. ^ Langdon, Glen G. (1982). Diseño informático . Computeach Press Inc. pág. 52 . ISBN 0-9607864-0-6.
  8. ^ "Números de bits" . Consultado el 30 de marzo de 2021 .
  9. ^ David V. James (junio de 1990). "Autobuses multiplexados: continúan las guerras endianas". IEEE Micro . 10 (3): 9-21. doi : 10.1109 / 40.56322 . ISSN 0272-1732 . S2CID 24291134 . sus primeros bits y nibbles provienen de chips ALU , que asignan cero (0) al bit menos significativo. (...) algunos (de lo contrario) diseñadores de big-endian insisten en usar la notación little-endian para describir bits y la notación big-endian para describir bytes. (...) Tenga en cuenta que IBM (en el S / 360 y 370 ) y Hewlett-Packard (en el PA-RISC   procesador) asigna constantemente cero al MSB
  10. ^ Scott, Gregor (junio de 1998). "RFC 2360 - Guía para redactores de estándares de Internet" . Grupo de trabajo de ingeniería de Internet (IETF). pag. 11 . Consultado el 14 de febrero de 2010 . La forma preferida para los diagramas de paquetes es una secuencia de palabras largas en orden de bytes de la red, con cada palabra horizontal en la página y la numeración de bits en la parte superior.
  11. ^ "RFC 1166 - NÚMEROS DE INTERNET" . Grupo de trabajo de ingeniería de Internet (IETF). Julio de 1990. p. 1 . Consultado el 11 de junio de 2014 . Siempre que un octeto representa una cantidad numérica, el bit más a la izquierda en el diagrama es el de orden superior o el bit más significativo.
  12. ^ Norman H. Cohen (enero de 1994). "Cláusulas de representación de registros independientes de Endian" (PDF) . Ada Letters . ACM SIGAda. XIV (1): 27-29. doi : 10.1145 / 181492.181493 . ISSN 1094-3641 . S2CID 31612852 . Consultado el 20 de diciembre de 2008 .   

Enlaces externos [ editar ]

  • Numeración de bits para diferentes CPU:
    • Motorola 68000 (secciones "Manipulación de bits" y "Numeración de bits invertida")
    • Procesadores IBM Cell Broadband ("Ordenación de bytes y numeración de bits")