Tema 2 - Codificación

0000
0011
0102
0113
1004
1015
1106
1117

BINARIO A OCTAL

Agrupar de 3 en 3 el Binario y cambiar por su correspondiente en Octal. (Siempre separar de derecha a Izquierda!!) Ejemplo: 011101 011 101 35

OCTAL A BINARIO

AL revés! Ejemplo: 234 010 011 100 >010011100

BINARIO A HEXADECIMAL Y VICEVERSA

Binario (4 bits)HexadecimalDecimal (Equivalencia)
000000
000111
001022
001133
010044
010155
011066
011177
100088
100199
1010A10
1011B11
1100C12
1101D13
1110E14
1111F15

BINARIO A HEXADECIMAL

Agrupar de 4 en 4 el Binario y reemplazar por su correspondiente en Hexadecimal. (Siempre separar de derecha a Izquierda!!) Ejemplo: 1110110001010 > 0001 1101 1000 1010 1D8A

HEXADECIMAL A BINARIO

Al revés!! Ejemplo: ABD30 > 1010 1011 1101 0011 0000 > 10101011110100110000

OCTAL A HEXADECIMAL Y VICEBERSA

OCTAL A HEXADECIMAL

  • Pasar primero a Binario
  • Agrupar de 4 en 4 Ejemplo 1706 > 001 111 000 110 >0011 1100 0110 (Ahora convertir a Hexadecimal con la tabla)

0011 1100 0110 3 C 6 3C6

HEXADECIMAL A OCTAL

  • Primero a Binario
  • Después a Octal Ejemplo: 3C6 > 0011 1100 0110 (Ahora agrupamos de 3 en 3) > 001 111 000 110 (Pasamos a Octal) > 1 7 0 6 > 1706

ARITMÉTICA BINARIA

ADICIÓN (+)

OperaciónResultadoAcarreo (Llevada)Nota
00
10
10
1 + 101Se pone 0 y “te llevas 1” a la siguiente columna.
1 1 1 ([[acarreoAcarreos]]/Lo que me llevo)
  1 1 0 1    (13)
+ 0 1 1 1    (7)
----------
1 0 1 0 0    (20)

Explicación paso a paso (de derecha a izquierda):

  1. Columna 1: . Pongo 0 y me llevo 1.

  2. Columna 2: (que me llevaba) . Pongo 0 y me llevo 1.

  3. Columna 3: (que me llevaba) . Pongo 1 y me llevo 1.

  4. Columna 4: (que me llevaba) . Pongo 0 y me llevo 1.

  5. Columna 5: El 1 que me llevaba baja solo.

Resultado: 10100

SUSTRACCIÓN (-)

OperaciónResultadoPrestado (Borrow)Nota
00
00
10
11El resultado es 1 y pides prestado 1 a la izquierda.
1 1 1 (Prestados/Lo que pido a la izquierda)
   1 1 0 1    (13)
 - 0 1 1 1    (7)
 ----------
   0 1 1 0    (6)

Explicación detallada (de derecha a izquierda):

  1. Columna 1: . (Fácil, no pido nada).
  2. Columna 2: . No puedo, así que pido prestado al de la izquierda. El se vuelve ( decimal). . (Anoto que debo 1 a la izquierda).
  3. Columna 3: Aquí arriba tengo un , pero como presté uno antes, ahora es un . Me queda . Pido prestado a la izquierda. El se vuelve . . (Anoto que debo 1 a la izquierda).
  4. Columna 4: Aquí arriba tenía un , pero como presté uno, ahora es un . .

Resultado final: 0110 (que es el 6 en decimal).

MULTIPLICACIÓN ( * )

OperaciónResultadoNota
0
0Cualquier cosa por 0 es 0.
0
1Solo da 1 si ambos son 1.
1 0 1 1 (11)
    x   1 0 1   (5)
    ---------
      1 0 1 1   
    0 0 0 0     
+ 1 0 1 1       
-------------
  1 1 0 1 1 1   (55)`

DIVISIÓN (/)

OperaciónResultadoNota
0
1
ErrorNo se puede dividir por cero (igual que en decimal).
ErrorIndeterminado.

REPRESENTACIÓN DE NÚMEROS ENTEROS (Positivos y Negativos)

En binario, no existe el símbolo "". Por eso, los ordenadores usan el Bit más a la izquierda (el MSB o Bit Más Significativo) para saber el signo.

1. Signo y Magnitud (El más simple)

  • Regla: El primer bit es el signo (0 = +, 1 = -). El resto es el número normal.

  • Problema: El cero tiene dos nombres ( y ), lo cual confunde a la CPU.

  • Ejemplo (8 bits):

    • 0 0001100

    • 1 0001100

2. Complemento a 1 (C1)

  • Regla: Si es negativo, invierte todos los bits (los 0 pasan a 1 y los 1 a 0).

  • Problema: Sigue teniendo el problema del “doble cero”.

  • Ejemplo:

    • 00001100

    • 11110011 (Invertido)

3. Complemento a 2 (C2) EL QUE SE USA HOY

Es el estándar actual porque elimina el doble cero y facilita las restas a la CPU.

  • Cómo se hace (Pasos para el negativo):

    1. Escribe el número en positivo.

    2. Pásalo a Complemento a 1 (invierte los bits).

    3. Súmale 1 al resultado.

  • Ejemplo de :

    1. : 00001100

    2. Invierte: 11110011

    3. Suma 1: 11110100 Este es el -12 oficial.

4. Exceso a (Exceso a 128 en 8 bits)

Aquí no hay bit de signo. Se elige un “punto medio” (el 128) para que sea el cero.

  • Si el número es mayor de 128, es positivo.

  • Si es menor de 128, es negativo.

  • Cálculo: Número en binario.

    • 12 10001100

    • -12 01110100