Está en la página 1de 8

REPRESENTACIÓN DE NÚMEROS ENTEROS CON SIGNO

INTRODUCCIÓN

1 1 1 1 15 (24 = 16 → 1 0000 el anterior es 1111 = 15 )

1 1 1 1 1 31 (25 = 32 → 10 0000 el anterior es 1 1111 = 31)

1 1 1 1 1 1 63 (26 = 64 → 100 0000 el anterior es 11 1111 = 63)

1 1 1 1 1 1 1 127 (27 = 128 → 100 0000 anterior 111 1111 = 127)

1 1 1 1 1 1 1 1 255 (28 =256→ 1000 0000 anterior 1111 1111 = 255)

En 10 bits
1 1 1 1 1 1 1 1 1 1 1023

En 16 bits 216 = 65536 → 1 0000 0000 0000 0000 anterior 1111 1111 1111 1111 = 65535

Por otro lado vemos:


En 15 bits 215 = 32768 → 1000 0000 0000 0000 el anterior es 0111 1111 1111 1111 = 32767

Vemos que, de las 65536 combinaciones, la mitad tienen cero en el primer bit y son 32768
combinaciones diferentes:
- desde 0000 0000 0000 0000 hasta 0111 1111 1111 1111 (0 → 32767 con signo positivo)
y la otra mitad tienen uno en la primera posición y también son 32768 combinaciones
diferentes:
- desde 1000 0000 0000 0000 hasta 1111 1111 1111 1111 (-32767 → -1 con signo negativo)
-

Formatos para representar números enteros con signo


Se tienen diferentes formatos para representar números enteros con signo en una
computadora, se verán las siguientes:
MS – módulo y signo
C-1 Complemento a 1 (complemento restringido)
C-2 Complemento a 2 (complemento auténtico)
Exceso 2 elevado a N-1 (exceso 2N-1)
i. Representación en formato MS - módulo y signo
Se asigna un bit para el signo, el de más a la izquierda
__ __ __ __ __ __ __ __
módulo
signo: 0 → para el signo + (positivo); 1 → para el signo – (negativo)
Ejemplo 1:
En el ejemplo, el bit de signo se representa en color rojo
Representar en formato MS de 8 bits el número 1710 con signo:
0001 00012 → +1710
1001 00012 → -1710
Representar en formato MS de 16 bits el número 1710 con signo:
0000 0000 0001 00012 → +1710
1000 0000 0001 00012 → -1710
Otros ejemplos:
x12710 = x111 11112 x6410 = x100 00002
Donde x es el signo del número (-127, +127)
Rango de representación:

−2N−1 + 1 ≤ x ≤ 2N−1 − 1
Para 8 bits: -127 ≤ x ≤ +127
Para 16 bits: -32767 ≤ x ≤ +32767
Para 32 bits: - 2147483647 ≤ x ≤ +2147483647

Ejemplo 2: representar el número 298 en formato MS:


Se utilizarán 16 bits: +298 = 0000000100101010; -298 = 1000000100101010

ii. Representación en formato C-1


Igual que en MS, se asigna un bit para el signo, el bit de más a la izquierda; siendo:
0 → para el signo + (positivo); 1 → para el signo – (negativo).
Para los números positivos es exactamente igual que en MS donde el primer bit (bit de
signo), es cero (0) y los restantes N-1 bits corresponden al módulo; en cambio para los
números negativos se complementa todos sus dígitos incluido el bit de signo, eso es cambiar
ceros por unos y viceversa.
Ejemplo 3:
Representar en formato C-1 de 8 bits el número 1710 con signo:
Lo primero será obtener el binario de 17, sin observa que signo tiene.
Teniendo el binario de 17, se hace lo siguiente: 1710 = 0001 00012
a) +1710 = 0001 00012 idem a MS
b) -1710 → Complementar el binario de la representación en MS:
MS: 0001 00012 → 0001 0001
1110 1110
Por lo que: -1710 = 1110 1110
El rango de representación es igual que en MS.

−2N−1 + 1 ≤ x ≤ 2N−1 − 1
Para 8 bits: -127 ≤ x ≤ +127
Para 16 bits: -32767 ≤ x ≤ +32767
Para 32 bits: - 2147483647 ≤ x ≤ +2147483647

Ejemplo 4: Representar el número +298 y -298 en formato C1


+298 = 0000 0001 0010 1010
-298 = 1111 1110 1101 0101

iii. Representación en formato C-2


Igual que en MS y C-1, se asigna el bit de más a la izquierda para el signo; siendo:
0 → para el signo + (positivo); 1 → para el signo – (negativo).
Para los números positivos es exactamente igual que en MS y en C-1.
Los números negativos se complementan todos sus dígitos incluido el bit de signo, eso es,
cambiar ceros por unos y viceversa igual que en C-1; luego se suma 1 al número obtenido
en el paso anterior, si existiese acarreo se lo desprecia.
El rango de representación es:

−2N−1 ≤ x ≤ 2N−1 − 1
Para 8 bits: -128 ≤ x ≤ +127
Para 16 bits: -32768 ≤ x ≤ +32767
Para 32 bits: - 2147483648 ≤ x ≤ +2147483647
Ejemplo 5:
Representar en formato C-2 de 8 bits los números 1710 con signo:
a) +1710 = 0001 00012 → igual a MS 1710 = 0001 00012
b) -1710 → Paso 1 complementar el binario o representación en MS:
0001 00012 → 1110 1110 (CR o C-1)
c) 2 sumar 1: + 1
1110 1111

Por lo que: -172 = 1110 1111 en C-2

Ejemplo 6: Representar los números +298 y -298 en formato C2


+298 = 0000 0001 0010 1010 +298 en C2
-298: 1111 1110 1101 0101
+ 1
1111 1110 1101 0110 -298 en C2

iv. Representación en formato Exceso 2 elevado a N-1 (exceso 2N-1):


En este formato no se utiliza bit de signo, todos los dígitos corresponden al número, más el
exceso determinado por la potencia 2N-1.
Para 8 bits tenemos 28-1 = 27 = 128, este número se suma al número que se desea convertir:
Ejemplo 7:
Representar en formato exceso 2N-1 de 8 bits el número 1710 con signo:
1710 = 100012 debemos representar en 8 bits con exceso 128
a) +1710 → 12810 + 1710 = 14510 en binario 1000 00002 + 0001 00012
14510 = 1001 00012
b) -1710 → 12810 - 1710 = 11110 en binario 1000 00002 - 0001 00012
11110 = 0110 11112
Para 16 bits, el exceso es 215 → 32768 → 32768+17 = 32785: 1000 0000 0000 0000 + 1 0001
+ 0000 0000 0001 0001
1000 0000 0001 0001 =32785

32768-17 = 32751: 1000 0000 0000 0000 -1 0001


El rango de representación es:

−2N−1 ≤ x ≤ 2N−1 − 1
Para 8 bits: -128 ≤ x ≤ +127
Para 16 bits: -32768 ≤ x ≤ +32767
Para 32 bits: - 2147483648 ≤ x ≤ +2147483647

Ejemplo 6: Representar los números +298 y -298 en formato exceso 2N-1


32768 + 298=33066 → 1000 0001 0010 1010
32768 - 298 =32470 → 0111 1110 1011 1110
CODIGO BCD

El código BCD es la contracción del inglés Binary Coded Decimal o decimal codificado en
binario, este código utiliza un nible (4 bits) para representar cada dígito del sistema decimal;
tiene tres formas:
BCD natural
BCD exceso tres
BCD Aiken

Nro. BCD Natural BCD exceso 3 BCD Aiken


0 0000 0011 0000
1 0001 0100 0001
2 0010 0101 0010
3 0011 0110 0011
4 0100 0111 0100
5 0101 1000 1011
6 0110 1001 1100
7 0111 1010 1101
8 1000 1011 1110
9 1001 1100 1111
10 1010 x x
11 1011 x x
12 1100 x x
13 1101 x x
14 1110 x x
15 1111 x x

En la tabla anterior se puede observar que las combinaciones del 10 al 15 están sombreadas,
eso es porque estas combinaciones no se usan en el código BCD.
Para representar en BCD, cantidades expresadas en decimal, se debe cambiar cada dígito
por su representación en BCD utilizando siempre 4 bits por cada dígito decimal.
Ejemplo 1:
Convertir a BCD el número decimal 526 → BCD

526 → 0101 0010 0110


Ejemplo 2:
Convertir a BCD el número decimal 7039 → BCD
7039 → 0111 0000 0011 1001

Ejemplo 3:
Convertir número BCD natural a → Decimal

1100001110101000001100000 →
0001 1000 0111 0101 0000 0110 0000
1 8 7 5 0 6 0

TAREA 5: REPRESENTACIÓN DE NÚMEROS ENTEROS CON SIGNO

1. Llenar la tabla siguiente:


Nro. MS C1 C2 BCD Exceso 3
41
-41
198
-198

2. Representar en BCD las cantidades siguientes


a.) 73801
b.) 300
c.) 9999
d.) 4219
3. Representar en BCD los números binarios siguientes; si no es posible mencionar la razón
(no llevar a decimal).
a.) 11 0000 0110 0010 0100 0101
b.) 1111111111111111111111
c.) 001100110011001100110
d.) 11100010000000010010101

También podría gustarte