Organización de Computadoras 2025
Práctica 1
Representación en Punto fijo: Números sin y con signo.
Operaciones aritméticas. Flags
Objetivos de la práctica: que el alumno sea capaz de:
Representar e interpretar números sin signo y con signo.
Realizar operaciones aritméticas e interpretar los flags de acarreo, cero, overflow y negativo.
Bibliografía:
“Organización y Arquitectura de Computadoras” de W. Stallings, capítulo 8.
Apunte 1 de la cátedra, “Sistemas de Numeración: Sistemas Enteros y Punto Fijo”.
1. Represente los siguientes números en el sistema BSS y en en los sistemas BCS, Ca1, Ca2 y Ex2, todos restringidos
a 8 bits. En los casos que no se pueda representar, aclarar por qué.
0; 1; 127; 128; 255; 256; -1; -7; -127; -128; -139; -56; 130; 45; 90; -90; 0,75; 2,5.
Recuerde: Los positivos se representan igual en los sistemas BSS, BCS, Ca1 y Ca2 (ver representación de números en
binario en el apunte). Los negativos en BCS, signo en el bit de mayor peso (0 positivos y 1 negativos) y los restantes
son módulo. Los negativos en Ca1, se obtiene el BSS del número en 8 bits, y luego se cambian unos por ceros y ceros
por unos. Los negativos en Ca2, se obtienen sumando 1 a la representación de Ca1, o copiando hasta el primer 1
(incluido) desde la derecha el número en BSS, y luego se cambian unos por ceros y ceros por unos. En Ex2, se suma
siempre el exceso (que en n bits será 2 n-1) y luego se representa como BSS.
2. Interprete las siguientes cadenas de 8 bits en los sistemas BSS, BCS, Ca1, Ca2 y Ex2.
00000000; 00000001; 11111110; 01111111; 11111111; 00010001; 10011001; 10101010; 01100110;
3. Calcule el rango y resolución de un sistema de punto fijo en BSS con 7 bits de parte entera y 3 de fraccionaria y de
un sistema de punto fijo en BCS con 1 bit de signo, 5 bits de parte entera y 4 de fraccionaria.
4. Represente los siguientes números en los sistemas del ejercicio 3. Si no es posible obtener una representación
exacta, indique cuál es la más próxima y calcule en ese caso el error cometido. Si el número a representar está fuera
del rango del sistema, señale que ese número “NO SE PUEDE REPRESENTAR”.
7 ; 15,125 ; 2,2 ; 8,001 ; 123,25 ; 50,50 ; 120 ; 1,2 ; 1,25 ; 35 ; -1,25 ; 1,0625 ; -1,5625 ; -35,5
5. Interprete las siguientes cadenas en los sistemas del ejercicio 3.
0000000000 ; 0101010101 ; 1000000000 ; 1111111110 ; 1111111111 ; 1010101010 ; 0111111111 ; 0110110110
6. Represente los números 0, 1, 3, 8, 12, 13, 22, 35, 99, 100 y 1255 en los sistemas BCD y BCD empaquetado.
Describa, con el mayor nivel de detalle posible, un procedimiento para calcular sumas en BCD. Sin considerar
representación de signo, realice las siguientes operaciones en BCD: 32 + 45; 22 + 89; 1307 + 708
7. Escriba los números 13160, 2988, 927 y 87127 en los sistemas BCD, BCD empaquetado y BSS. Observe la
cantidad de bits necesarios. ¿Qué conclusiones saca respecto de las ventajas y desventajas del sistema BCD sobre
BSS?
8. Haga el pasaje de binario a hexadecimal y de hexadecimal a BCH en forma directa (sin utilizar sistema decimal).
¿Por qué cree que el sistema hexadecimal es muy utilizado?
Binario a Hexadecimal Hexadecimal a BCH
1010000010000 2801
1110001011101 1C5D
111010011001011 78AB
1001111100100011 F79A
1110101011001010 7EF1
101101101011010 324A
Práctica 1 1/3
Organización de Computadoras 2025
9. Calcule el resultado de realizar las sumas (ADD) y restas (SUB) indicadas a continuación. Calcule el valor en el que
quedarán los flags luego de realizada cada operación, de acuerdo a que haya habido acarreo (flag C, de Carry) o se
haya producido borrow (flag B, es el mismo que C pero en la resta), o que el resultado sea cero en todos sus bits
(flag Z, de Zero) ), se haya producido desbordamiento (flag V, de oVerflow), o de un resultado negativo (flag N, de
Negative).
ADD 00011101 00011011 ADD 01110000 11110001 SUB 00011101 00011011 SUB 01110000 11110001
ADD 10011101 01110010 ADD 01001100 01110000 SUB 10011101 01110010 SUB 01001100 01110000
ADD 01110110 01110001 ADD 11001100 11110000 SUB 01110110 01110001 SUB 11001100 11110000
ADD 10111001 11100011 ADD 10000000 10000000 SUB 10111001 11100011 SUB 10000000 10000000
ADD 00111010 00001111 ADD 00000000 10000000 SUB 00111010 00001111 SUB 00000000 10000000
Recuerde que:
0+0=0 con C=0 1+0=1 con C=0 0-0=0 con B=0 1-1=0 con B=0
0+1=1 con C=0 1+1=0 con C=1 1-0=1 con B=0 0-1=1 con B=1
También, tendremos casos de exceso en el rango de representación (llamado overflow) si a un número positivo se le
suma otro positivo y da un resultado negativo ó a un número negativo se le suma otro negativo y da uno positivo ó a
un número positivo se le resta otro negativo y da uno negativo ó a un número negativo se le resta otro positivo y da
uno positivo.
En todos estos casos de errores en la operación aritmética, se advierte el error pues la ALU encenderá (pondrá en 1) el
flag de overflow (V=1). Es de hacer notar que el flag V se encenderá aunque sumemos números sin signo (en BSS),
la interpretación de los flags corre por cuenta del programador.
Ejemplo de suma:
1111 Acarreos
01001111
+ 01111000
11000111 Flags: Carry=0; Zero=0; Negative=1; oVerflow=1.
10. Suponga que los operandos del ejercicio anterior (ej. 9) eran números representados en BSS, BCS, Ca1, Ca2 y
Exceso2 (todos para cada sistema de representación). Verifique la correctitud del resultado interpretando el
resultado obtenido y comparando con el resultado esperado. En caso de que la operación haya dado resultado
incorrecto, indicar la posible cadena de bits que representa el resultado correcto.
Del ejemplo anterior, los operandos y resultado son interpretados como cadenas de bits BSS.
1111 Acarreos Interpretación en BSS
01001111 79
+ 01111000 + 120
11000111 199
Por lo que, si verificamos realizando a mano la operación interpretada en base 10, el resultado es correcto.
Volviendo al ejemplo, si interpretamos ahora los operandos y resultados como cadenas de bits en los 4 sistemas de
representación de números con signo, tendremos:
1111 Acarreos BCS Ca1 Ca2 Exceso Observe los flags!
01001111 79 79 79 -49
+ 01111000 + 120 + 120 + 120 + -8
11000111 -71 -56 -57 71
11. Referido al ejercicio 9 sobre la operación ADD: Observando cuáles resultados fueron correctos y cuáles fueron
incorrectos y relacionándolos con los flags, describa una regla para determinar la correctitud de la operación ADD
en el sistema BSS con la mera observación de los flags (sin verificar la operación pasando por el sistema decimal).
Nota: en el ejemplo dado para BSS, los flags V y N quedan en 1 y no importan pues suponemos que estamos operando con
números sin signo (BSS). Si hacemos lo mismo con todos los ejercicios, observaremos que en los casos en que C=1 el resultado
es incorrecto, independientemente de los demás flags.
12. Trabaje de forma similar al ejercicio 10 pero con la operación SUB. Luego trate de descubrir reglas análogas para
ADD y SUB para el sistema Ca2, basándose en los ejercicios cuya cadena resultado es diferente de la correcta y
observando los flags. Observe qué flags se encienden en los casos que da incorrecto y cuáles no, como así también
los que es indistinto que tengan valor uno o cero.
13. Considere en el ejercicio 9, que el punto o coma fraccionaria se encuentra entre el bit 2 y el 3. Interprete el valor que
tendrán las cadenas de bits que representan los operandos y los resultados como BSS y como Ca2. Observe los
flags. ¿Qué concluye?
Práctica 1 2/3
Organización de Computadoras 2025
14. Escriba todas las cadenas de los sistemas BSS, BCS, Ca1, Ca2 y Ex2(n-1) restringido a 4 bits. Considere el punto (o
coma fraccionaria) fijo en cada una de todas las posibles posiciones (son 5 posibilidades en total, considerando que
el punto fijo puede estar colocado a la izquierda del MSB y a la derecha del LSB) y obtenga el rango y resolución de
cada uno de los sistemas de punto fijo resultantes. ¿Cuántas cadenas se pueden escribir en cada caso? ¿Cuántos
números se pueden representar en los distintos sistemas?
15. Defina el sistema Exceso a M (donde M es un entero cualquiera).
16. Interprete las siguientes cadenas descriptas en sistema Ca2. ¿Qué pasa en el caso (e)?
a. 00100110 b. 11011000 c. 00111000 d. 00000000 e. 10000000
17. Interprete las siguientes cadenas descriptas en sistema Ex2(n-1) con n=8. ¿Qué pasa en el caso (e)?
a. 10100110 b. 01011000 c. 10111000 d. 10000000 e. 00000000
Práctica 1 3/3