Representación binaria

Hemos visto cómo el número de bits utilizados para representar un entero afecta lo grande que puede ser. Ahora pasamos a la forma específica en que un entero de una sola palabra se codifica como bits.

: Bit
DAT-1.A.3

La palabra "bit" es una abreviatura de la expresión en inglés binary digit (dígito binario).

DAT-1.C.1

Las personas generalmente usan dígitos de base diez (decimales) para escribir números. Las computadoras usan la base dos (binaria).

DAT-1.C.3

Ena notación de base 10, hay diez dígitos (0-9), y cada lugar vale diez veces el lugar a su derecha.
lugares de los valores en decimal 3761: 3 en las unidades de mil, 7 en las centenas, 6 en las decenas, 1 en la unidad

DAT-1.C.2

En binario, base 2, solo hay dos dígitos (0 y 1), y cada lugar vale la pena dos veces el lugar a su derecha.
lugares de los valores en binario 1101: 1 en los octavos, 1 en los cuartos, 0 en los dobles, 1 en las unidades

El subíndice 2 en 11012 significa que el 1101 está en la base 2. Los números normalmente se escriben en base 10, por lo que un subíndice 10 solo se usa cuando es necesario para mayor claridad.

Leer binario

DAT-1.C.5

En notación de base 10, cada valor de lugar representa una potencia de diez: el lugar de las unidades (100 = 1), el lugar de las decenas (101 = 10), el lugar de las centenas(102 = 100), el lugar de las unidades de mil (103 = 1000), etc. Así, por ejemplo,:

9827   =   9 × 103  +  8 × 102  +  2 × 101  +  7 × 100

DAT-1.C.4

colocar lugares en binario 10010: 1 en los 16, 0 en los 8, 0 en los 4, 1 e2, 0 en la unidad Base 2 utiliza la misma idea pero con potencias de dos en lugar de potencias de diez. Los valores de lugar binario representan el lugar de las unidades (20 = 1), el lugar de los dos (21 = 2), el lugar de los cuatro (22 = 4), el octavo lugar (23 = 8), el lugar de los dieciséis (24 = 16), etc. Así, por ejemplo:

100102   =   1 × 24  +  0 × 23  +  0 × 22  +  1 × 21  +  0 × 20   =   16  +  2   =   1810

Para traducir desde binario (por ejemplo), 1011012 a base 10, primero, escribe el número en un papel. A continuación, escribe los valores de lugar binario duplicando la izquierda desde el lugar de las unidades:

1011012 tiene solo seis dígitos, por lo que no necesitamos potencias de dos a la izquierda de eso.
1 0 1 1 0 1
32 16 8 4 2 1
flecha de derecha a izquierda

Esto significa que este número es, en base 10, 32 + 8 + 4 + 1 = 45. Entonces, 1011012 = 4510.

    DAT-1.C part a
  1. Traduce estas representaciones binarias a la notación base 10:
    1. 1012
    2. 1112
    3. 10100112
    4. 10000000002

Escribir binario

Para traducir desde la base 10 (como 8910) a base 2, primero escribe los valores de lugar binario duplicando a la izquierda desde el lugar de las unidades hasta llegar a un valor mayor que su número (128 para este ejemplo). Entonces piensa, "Puedo sacar un 64, así que escribo un 1 allí, y quedan 25 (89 − 64). Tengo 0 treinta y dos, porque solo tengo 25. Pero puedo sacar 16, y quedan 9. Entonces, 8 y 1 son los últimos bits distintos de cero.

89
25
9
1
0
flecha de derecha a izquierda
128 64 32 16 8 4 2 1
  1 0 1 1 0 0 1

Ahora, lea el número desactivado: 10110012 = 8910.

Aquí hay una descripción más precisa de este algoritmo para encontrar la representación binaria de cualquier número entero positivo:

  1. Primero, encuentra la mayor potencia de dos que sea menor que el número.
  2. Luego, resta esa potencia de 2 del número, mantén el nuevo número y registra un 1 en el lugar para esa potencia de 2.
  3. A continuación, determina si la siguiente potencia mayor de 2 que es menor que el nuevo número, y: Repite todo este paso con la siguiente potencia más grande de 2 hasta que tenga un bit (1 o 0) para todos los lugares restantes hasta e incluyendo el lugar (momento en el que no debería quedar nada del número original).

La cadena de unos y ceros que has registrado es la representación binaria de tu número original.

    DAT-1.C part a
  1. Representa estos números base 10 en binario (base 2):
    1. 63
    2. 64
    3. 65
    4. 129
    5. 128
    6. 127
  2. DAT-1.C part b
    Pon estos números en orden ascendente sin convertirlos a notación decimal:
    • 10110012
    • 110012
    • 1000012
    • 1010112
  3. Habla con tu compañero¿Cuál fue tu algoritmo para comparar estos números?
  4. Esta pregunta es similar a las que verás en el examen AP CSP.
    Un programa en particular utiliza 4 bits para representar números enteros. Cuando ese programa suma los números 9 y 7, el resultado se da como 0. Identifica la mejor explicación del resultado.
    Los datos se corrompieron durante la operación debido a una falla técnica.
    El resultado se debió a un error de redondeo
    El resultado se debió a un error de desbordamiento.
    Se utilizó una representación de punto flotante para aproximar el resultado.