Download 1. - NUMEROS BINARIOS, OCTALES Y HEXADECIMALES. El

Document related concepts

Sistema octal wikipedia , lookup

Código binario wikipedia , lookup

Sistema binario wikipedia , lookup

Nibble wikipedia , lookup

Representación de números con signo wikipedia , lookup

Transcript
.1. - NUMEROS BINARIOS, OCTALES Y HEXADECIMALES.
El sistema de numeración utilizado habitualmente es la base 10; es decir, consta de 10 dígitos (0-9) que
podemos colocar en grupos, ordenados de izquierda a derecha y de mayor a menor.
Cada posición tiene un valor o peso de 10n donde n representa el lugar contado por la derecha:
1357 = 1 x 103 + 3 x 102 + 5 x 101 + 7 x 100
Explícitamente, se indica la base de numeración como 1357 10.
En un ordenador el sistema de numeración es binario -en base 2, utilizando el 0 y el 1- hecho propiciado
por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora.
Análogamente a la base 10, cada posición tiene un valor de 2 n donde n es la posición contando desde la
derecha y empezando por 0:
1012 = 1 x 22 + 0 x 21 + 1 x 20
Además, por su importancia y utilidad, es necesario conocer otros sistemas de numeración como pueden
ser el octal (base 8) y el hexadecimal (base 16). En este último tenemos, además de los números del 0 al 9,
letras -normalmente en mayúsculas- de la A a la F.
Llegar a un número en estos sistemas desde base 2 es realmente sencillo si agrupamos las cifras binarias
de 3 en 3 (octal) o de 4 en 4 (hexadecimal):
Base 2 a base 8: 101 0112 = 538
Base 2 a base 16: 0010 10112 = 2B16
A la inversa, basta convertir cada dígito octal o hexadecimal en binario:
Base 8 a base 2: 248 = 010 1002
Base 16 a base 2: 2416 = 0010 01002
De ahora en adelante, se utilizarán una serie de sufijos para determinar el sistema de numeración
empleado:
Sufijo Base Ejemplos
b
2
01101010b
o,q
8
175o
d
10
789d
h
16
6A5h
En caso de que no aparezca el sufijo, el número se considera decimal; es decir, en base 10.
1.2. - CAMBIO DE BASE.
Pese a que las conversiones entre base 2 y base 8 y 16 son prácticamente directas, existe un sistema
general para realizar el cambio de una base a otra. El paso de cualquier base a base 10 lo vimos antes:
6A5h = 6 x 162 + 10 x 161 + 5 x 160
Inversamente, si queremos pasar de base 10 a cualquier otra habrá que realizar sucesivas divisiones por la
base y tomar los restos:
donde 4 es el último cociente (menor que la base) y los restantes dígitos son los restos en orden inverso.
1.3. - ESTRUCTURA ELEMENTAL DE LA MEMORIA.
1.3.1. - BIT.
Toda la memoria del ordenador se compone de dispositivos electrónicos que pueden adoptar únicamente
dos estados, que representamos matemáticamente por 0 y 1. Cualquiera de estas unidades de información se
denomina BIT, contracción de «binary digit» en inglés.
1.3.2. - BYTE.
Cada grupo de 8 bits se conoce como byte u octeto. Es la unidad de almacenamiento en memoria, la cual
está constituida por un elevado número de posiciones que almacenan bytes. La cantidad de memoria de que
dispone un sistema se mide en Kilobytes (1 Kb = 1024 bytes), en Megabytes (1 Mb = 1024 Kb), Gigabytes (1
Gb = 1024 Mb), Terabytes (1 Tb = 1024 Gb) o Petabytes (1 Pb = 1024 Tb).
Los bits en un byte se numeran de derecha a izquierda y de 0 a 7, correspondiendo con los exponentes de
las potencias de 2 que reflejan el valor de cada posición. Un byte nos permite, por tanto, representar 256
estados (de 0 a 255) según la combinación de bits que tomemos.
1.3.3. - NIBBLE.
Cada grupo de cuatro bits de un byte constituye un nibble, de forma que los dos nibbles de un byte se
llaman nibble superior (el compuesto por los bits 4 a 7) e inferior (el compuesto por los bits 0 a 3). El nibble
tiene gran utilidad debido a que cada uno almacena un dígito hexadecimal:
Binario Hex. Decimal Binario Hex. Decimal
0000
0
0
1000
8
8
0001
1
1
1001
9
9
0010
2
2
1010
A
10
0011
3
3
1011
B
11
0100
4
4
1100
C
12
0101
5
5
1101
D
13
0110
6
6
1110
E
14
0111
7
7
1111
F
15
1.4. - OPERACIONES ARITMÉTICAS SENCILLAS EN BINARIO.
Para sumar números, tanto en base 2 como hexadecimal, se sigue el mismo proceso que en base 10:
Podemos observar que la suma se desa1010 1010b
rrolla de la forma tradicional; es decir:
+ 0011 1100b
sumamos normalmente, salvo en el caso de
-------------1 + 1 = 102 , en cuyo caso tenemos un aca1110 0110b
rreo de 1 (lo que nos llevamos).
1.5. - COMPLEMENTO A DOS.
En general, se define como valor negativo de un número el que necesitamos sumarlo para obtener 00h,
por ejemplo:
FFh
Como en un byte solo tenemos dos nibbles, es
+ 01h decir, dos dígitos hexadecimales, el resultado es
------ 0 (observar cómo el 1 más significativo subrayado
100h es ignorado). Luego FFh=-1. Normalmente, el bit 7
se considera como de signo y, si está activo (a 1)
el número es negativo.
Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera negativo (-128) y el
número 00h, positivo. En general, para hallar el complemento a dos de un número cualquiera basta con
calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y los ceros por unos en
su notación binaria; a continuación se le suma una unidad para calcular el complemento a dos. Con una
calculadora, la operación es más sencilla: el complemento a dos de un número A de n bits es 2n-A.
Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a otro
mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda son bits a 0. Sin
embargo, si era negativo (bit más significativo activo) la parte que se añade por la izquierda son bits a 1. Este
fenómeno, en cuya demostración matemática no entraremos, se puede resumir en que el bit más significativo
se copia en todos los añadidos: es lo que se denomina la extensión del signo: los dos siguientes números
son realmente el mismo número (el -310): 11012 (4 bits) y 111111012 (8 bits).
1.6. - AGRUPACIONES DE BYTES.
Tipo
Definición
Palabra
2 bytes contiguos
Doble palabra
2 palabras contiguas (4 bytes)
Cuádruple palabra 4 palabras contiguas (8 bytes)
Párrafo
16 bytes
Página
256 bytes, 16 Kb, etc.
Segmento
64 Kbytes
1.7. - REPRESENTACIÓN DE LOS DATOS EN MEMORIA.
1.7.1. - NUMEROS BINARIOS: máximo número representable:
Tipo
Sin signo
1 byte
255
2 bytes
65.535
4 bytes
4.294.967.295
8 bytes 18.446.744.073.709.551.615
Tipo
Positivo
Negativo
1 byte
127
-128
2 bytes
32.767
-32.768
4 bytes
2.147.483.647
-2.147.483.648
8 bytes 9.223.372.036.854.775.807 -9.223.372.036.854.775.808
Los números binarios de más de un byte se almacenan en la memoria en los procesadores de Intel en
orden inverso: 01234567h se almacenaría: 67h, 45h, 23h, 01h.
1.7.2. - NUMEROS BINARIOS CODIFICADOS EN DECIMAL (BCD).
Consiste en emplear cuatro bits para codificar los dígitos del 0 al 9 (desperdiciando las seis combinaciones
que van de la 1010 a la 1111). La ventaja es la simplicidad de conversión a/de base 10, que resulta inmediata.
Los números BCD pueden almacenarse desempaquetados, en cuyo caso cada byte contiene un dígito BCD
(Binary-Coded Decimal); o empaquetados, almacenando dos dígitos por byte (para construir los números que
van del 00 al 99). La notación BCD ocupa cuatro bits -un nibble- por cifra, de forma que en el formato
desempaquetado el nibble superior siempre es 0.
1.7.3. - NUMEROS EN PUNTO FLOTANTE.
Son grupos de bytes en los que una parte se emplea para guardar las cifras del número (mantisa) y otra
para indicar la posición del punto flotante (exponente), de modo equivalente a la notación científica. Esto
permite trabajar con números de muy elevado tamaño -según el exponente- y con una mayor o menor
precisión en función de los bits empleados para codificar la mantisa.
1.7.4. - CÓDIGO ASCII.
El código A.S.C.I.I. (American Standard Code for Information Interchange) es un convenio adoptado para
asignar a cada carácter un valor numérico; su origen está en los comienzos de la Informática tomando como
muestra algunos códigos de la transmisión de información de radioteletipo. Se trata de un código de 7 bits con
capacidad para 128 símbolos que incluyen todos los caracteres alfanuméricos del inglés, con símbolos de
puntuación y algunos caracteres de control de la transmisión.
Con posterioridad, con la aparición de los microordenadores y la gran expansión entre ellos de los IBM-PC
y compatibles, la ampliación del código ASCII realizada por esta marca a 8 bits, con capacidad para 128
símbolos adicionales, experimenta un considerable auge, siendo en la actualidad muy utilizada y recibiendo la
denominación oficial de página de códigos 437 (EEUU). Se puede consultar al final de este libro. Es
habitualmente la única página soportada por las BIOS de los PC. Para ciertas nacionalidades se han diseñado
otras páginas específicas que requieren de un software externo. En las lenguas del estado español y en las de
la mayoría de los demás países de la UE, esta tabla cubre todas las necesidades del idioma.
1.8. - OPERACIONES LÓGICAS EN BINARIO.
Se realizan a nivel de bit y pueden ser de uno o dos operandos:
x NOT (x)
0
1
1
0
x y x AND y x OR y x XOR y
00
0
0
0
01
0
1
1
10
0
1
1
11
1
1
0
Operaciones Binarias
En lo que sigue se adopta como convención la lógica positiva, lo que implica: verdadero = 1 = activo, ------,
falso = 0 = inactivo Hay cinco operaciones binarias básicas: AND, OR, NOT, XOR y ADD. La resta,
multiplicación y división se derivan de estas cinco anteriores. Cualquiera sea la longitud de la palabra o
palabras objeto de la operación, siempre se hace de a un bit por vez de derecha a izquierda (tal como si fuera
una suma o resta con números decimales). Esto permite una definición de cada operación que es
independiente de la longitud del o de los operando(s). La operación NOT es la única que se realiza sobre un
sólo operando (es unaria), y las otras cuatro sobre dos operandos.
La operación AND (Y) tiene resultado 1 si sus dos operandos son ambos 1 La operación OR (O) tiene
resultado 1 si cualquiera de sus operandos es 1 La operación XOR tiene resultado 1 si los operandos son
distintos (uno en 0 y el otro en 1) La operación NOT (NO) tiene resultado 1 si el operando es 0 y viceversa La
operación ADD (SUMA) se define igual que con los números decimales
AND
OR
XOR
NOT
SUMA
0*0=0
0+0=0
0X0=0
NOT 1 = 0
0+0=0
0*1=0
0+1=1
0X1=1
NOT 0 = 1
0+1=1
1*0=0
1+0=1
1X0=1
--1+0=1
1*1=1
1+1=1
1X1=0
--1 + 1 = 10
División
Reglas de la división binaria: 0/0 no permitida, 1/0 no permitida,0/1=0, 1/1=1
Es lo que hacemos en la suma decimal 5+5=10 (nos llevamos “1″ para la operación del dígito siguiente). Este
llevarse “1″ es vastamente usado entre los procesadores digitales y tiene un nombre especial: carry (lo verá
abreviado como CY, C o CF-por carry flag), lo que en castellano se traduce como “acarreo” (que suena muy
mal, asi que le seguiremos llamando carry). Estas operaciones también se llaman “booleanas” ya que se
basan en el álgebra de Boole (invito al lector a rememorar cuando en la escuela secundaria se preguntaba,
igual que yo, si el álgebra de Boole le serviría alguna vez para algo). En un ordenador el sistema de
numeración es binario -en base 2, utilizando el 0 y el 1- hecho propiciado por ser precisamente dos los
estados estables en los dispositivos digitales que componen una computadora. Para sumar números, tanto en
base 2 como hexadecimal, se sigue el mismo proceso que en base 10:
Podemos observar que la suma se desa- 1010 1010b rrolla de la forma tradicional; es decir: + 0011 1100b
sumamos normalmente, salvo en el caso de
1 + 1 = 102 , en cuyo caso tenemos un aca1110 0110b rreo de 1 (lo que nos llevamos).
Complemento a dos. En general, se define como valor negativo de un número el que necesitamos sumarlo
para obtener 00h, por ejemplo: FFh Como en un byte solo tenemos dos nibbles, es + 01h decir, dos dígitos
hexadecimales, el resultado es
0 (observar cómo el 1 más significativo subrayado
100h es ignorado). Luego FFh=−1. Normalmente, el bit 7 se considera como de signo y, si está activo (a 1) el
número es negativo. Por esta razón, el número 80h, cuyo complemento a dos es él mismo, se considera
negativo (−128) y el número 00h, positivo. En general, para hallar el complemento a dos de un número
cualquiera basta con calcular primero su complemento a uno, que consiste en cambiar los unos por ceros y
los ceros por unos en su notación binaria; a continuación se le suma una unidad para calcular el complemento
a dos. Con una calculadora, la operación es más sencilla: el complemento a dos de un número A de n bits es
2n-A. Otro factor a considerar es cuando se pasa de operar con un número de cierto tamaño (ej., 8 bits) a otro
mayor (pongamos de 16 bits). Si el número es positivo, la parte que se añade por la izquierda son bits a 0. Sin
embargo, si era negativo (bit más significativo activo) la parte que se añade por la izquierda son bits a 1. Este
fenómeno, en cuya demostración matemática no entraremos, se puede resumir en que el bit más significativo
se copia en todos los añadidos: es lo que se denomina la extensión del signo: los dos siguientes números son
realmente el mismo número (el −310): 11012 (4 bits) y 111111012 (8 bits).
Sistema de numeración octal El sistema de numeración octal es muy importante en el trabajo que se realiza
en una computadora digital. Este tiene una base de ocho, lo cual significa que tiene ocho posibles dígitos: 0,
1, 2, 3, 4, 5, 6 y 7. Así, cada dígito de un número octal puede tener cualquier valor del 0 al 7. Conversi6n de
octal a decimal.- Por tanto, un número octal puede convenirse fácilmente a su equivalente decimal
multiplicando cada dígito octal por su valor posicional. Por ejemplo:
2748 = 2 x 82 + 7 x 81 + 4 x 80
2848 = 2 x 64 + 7 x 8 + 4 x 1
2848 = 18810
Conversión de decimal a octal.- Un entero decimal se puede convertir a octal con el mismo método dc división
repetida que se usó en la conversión de decimal a binario, pero con un factor de división dc 8 en lugar de 2.
Por ejemplo:
con residuo 4
con residuo 4
con residuo 2
Al final resulta que:
16410 = 2448
Conversión de octal a binario.- La ventaja principal del sistema de numeración octal es la facilidad con que se
puede realizar la conversión entre números binarios y octales. La conversión de octal a binario se lleva a cabo
conviniendo cada dígito octal en su equivalente binario dc 3 bits. Por medio de estas conversiones, cualquier
número octal se conviene a binario, convirtiéndolo dc manera individual. Por ejemplo, podemos convertir 516,
a binario de la siguiente manera:
516
001 110 entonces:
5168 = 1010011102
Conversi6n de binario a octal.- La conversión de enteros binarios a octales es simplemente la operación
inversa del proceso anterior. Los bits del número binario se agrupan en conjuntos de tres comenzando por el
LSB. Luego, cada grupo se convierte a su equivalente octal. Por ejemplo: 111 001 101 110 7 1 5 6 entonces:
1110011011102 = 71568
Sistema De Numeración Hexadecimal Conversión de hexadecimal a decimal.- Un número hexadecimal se
puede convenir a su equivalente decimal utilizando el hecho de que cada posición de los dígitos
hexadecimales tiene un valor que es una potencia de 16. El LSD tiene un valor de l60 = 1; el siguiente dígito
en secuencia tiene un valor de 161 = 16; el siguiente tiene un valor de 162 = 256 y así sucesivamente. Por
ejemplo:
81216 = 8 x 162 + 1 x 161 + 2 x 160
81216 = 2048 + 16 + 2
81216 = 206610
Conversión de decimal a hexadecimal.- Recuerde que efectuamos la conversión de decimal a binario por
medio de la división repetida entre 2 y de decimal a octal por medio de la división repetida entre 8. De igual
manera, la conversión de decimal a hexadecimal se puede efectuar por medio de la división repetida entre 16.
Por ejemplo:
con residuo 7
con residuo 010
con residuo 1
entonces:
42310 = 1A716
Conversión de hexadecimal a binario.- Al igual que el sistema de numeración octal, el sistema hexadecimal se
usa principalmente como método ‘taquigráfico” en la representación de números binarios. Es una tarea
relativamente simple la de convertir un número hexadecimal en binario. Cada dígito hexadecimal se convierte
en su equivalente binario de 4 bits. Por ejemplo:
6D23
1101 0010 0011 entonces:
6D2316 = 1101101001000112
Conversión de binario a hexadecimal.- Esta conversión es exactamente la operación inversa del proceso
anterior. El número binario se agrupa en conjuntos de cuatro bits y cada grupo se convierte a su dígito
hexadecimal equivalente. Cuando es necesario se añaden ceros para completar un grupo de cuatro bits.
11101001102 = 0011 1010 0110
3A6
11101001102 = 3A616
Investigado Por Hector Jesus Perez Gomez Estudiante del Instituto Tecnologico De Villahermosa Para La
comunidad En general. Aula 9
LOS SISTEMAS DE NUMERACIÓN
SISTEMA BINARIO
El sistema binario desempeña un importante papel en la tecnología de los ordenadores. Los primeros 20
números en el sistema en base 2 son 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101,
1110, 1111, 10000, 10001, 10010, 10011 y 10100. Cualquier número se puede representar en el sistema
binario, como suma de varias potencias de dos. Por ejemplo, el número 10101101 representa, empezando por
la derecha, (1 × 20) + (0 × 21) + (1 × 22) + (1 × 23) + (0 × 24) + (1 × 25) + (0 × 26) + (1 × 27) = 173.
Las operaciones aritméticas con números en base 2 son muy sencillas. Las reglas básicas son: 1 + 1 = 10 y 1
× 1 = 1. El cero cumple las mismas propiedades que en el sistema decimal: 1 × 0 = 0 y 1 + 0 = 1. La adición,
sustracción y multiplicación se realizan de manera similar a las del sistema decimal:
100101 1011010 +110101 - 110101 1011010 100101
Puesto que sólo se necesitan dos dígitos (o bits), el sistema binario se utiliza en los ordenadores o
computadoras. Un número binario cualquiera se puede representar, por ejemplo, con las distintas posiciones
de una serie de interruptores. La posición “encendido” corresponde al 1, y “apagado” al 0. Además de
interruptores, también se pueden utilizar puntos imantados en una cinta magnética o disco: un punto imantado
representa al dígito 1, y la ausencia de un punto imantado es el dígito 0. Los biestables ( dispositivos
electrónicos con sólo dos posibles valores de voltaje a la salida y que pueden saltar de un estado al otro
mediante una señal externa ) también se pueden utilizar para representar números binarios. Los circuitos
lógicos realizan operaciones con números en base 2. La conversión de números decimales a binarios para
hacer cálculos, y de números binarios a decimales para su presentación, se realizan electrónicamente
SISTEMA DECIMAL O BASE 10
Cuando en una enumeración se usan 10 símbolos diversos, a esta se le denomina numeración decimal o
basa diez. El valor de cada cifra es el producto de la misma por una potencia de diez (la base), cuyo
exponente es igual a la posición ocupada por la cifra; se supone que las unidades ocupan la posición 0, la
decenas la posición 1 y así sucesivamente.
Por ejemplo, 327 se puede descomponer en: 3 . 102 + 2 . 101 + 7 . 100 = 300 + 20 + 7 = 327
Siguiendo con el mismo razonamiento podemos definir una numeración binaria o en base 2, donde los
símbolos 0 y 1 vistos anteriormente asumen el valor numérico 0 y 1. Así, el número 10110 escrito en base 2 o
binaria equivale al siguiente número en base 10 o decimal:
1 . 24 + 0 .23 + 1 . 22 + 1 . 21 + 0 . 20 = 16 + 0 + 2 + 2 + 0 = (22)10
NUMERACIÓN OCTAL Y HEXADECIMAL
El sistema de numeración hexadecimal utiliza 16 símbolos o signos y el sistema de numeración octal utiliza
solo 8 símbolos. Para comprenderse funcionamiento, retomaremos el numero anteriormente analizado en
base 10, (327) y lo estudiaremos en base octal y hexadecimal.
BASE 8 U OCTAL
Si tenemos el número (327)8 su correspondiente valor en base 10 será: (327) = 3 . 82 + 2 . 81 + 7 . 80 = 192 +
16 + 7 = (215)10
Los signos que se utilizan en base 8 son:
01234567
Una cifra octal equivale a 3 cifras binarias, por lo que el numero escrito en binario se puede convertir en octal
dividiéndolo en grupos de 3 bits, y traduciendo cada uno de ellos en la cifra octal correspondiente. Por
ejemplo, el número binario 10110, equivale a 26 en octal:
10 110 numero binario descompuesto en grupos de 3 bits. 2 6 equivalente en octal de cada grupo.
BASE 16 O HEXADECIMAL
Si analizamos el número (327)10 , y obtenemos su correspondiente valor en base 10, será:
(327)16 = 3 . 162 + 2 . 161 + 7 . 160 = = 768 + 32 + 7 = (807)10
Por lo que (327)16 = (807)10 Los signo utilizados en base 16 son los que se indican a continuación:
0123456789ABCDEF
El valor de las letras es el siguiente: A= 10; B= 11; C= 12 ; D= 13; E= 14; F= 15
Una cifra hexadecimal contiene la misma información que 4 bits, por lo que el numero escrito en binario se
puede convertir en hexadecimal dividiendolo en grupos de cuatro bits, y traduciendo cada uno de ellos en la
cifra hexadecimal correspondiente. Por ejemplo, el numero 10110equivale a 16 en hexadecimal; la
descomposición seria:
1 0110 numero binario descompuesto en grupos de cuatro bits
1 6 equivalente hexadecimal en cada grupo.
El Sistema de Numeración Maya
Los mayas idearon un sistema de base 20 con el 5 cómo base auxiliar. La unidad se representaba por un
punto. Dos, tres, y cuatro puntos servían para 2, 3 y 4. El 5 era una raya horizontal, a la que seañadían los
puntos necesarios para representar 6, 7, 8 y 9. Para el 10 se usaban dos rayas, y de la misma forma se
continúa hasta el 20, con cuatro rayas.
Hasta aquí parece ser un sistema de base 5 aditivo, pero en realidad, considerados cada uno un solo signo,
estos símbolos constituyen las cífras de un sistema de base 20, en el que hay que multiplicar el valor de cada
cifra por 1, 20, 20×20, 20×20×20 … según el lugar que ocupe, y sumar el resultado. Es por tanto un sistema
posicional que se escribe a arriba abajo, empezando por el orden de magnitud mayor.
Al tener cada cifra un valor relativo según el lugar que ocupa, la presencia de un signo para el cero, con el que
indicar la ausencia de unidades de algún orden, se hace imprescindible y los mayas lo usaron, aunque no
parece haberles interesado el concepto de cantidad nula. Cómo los babilonios lo usaron simplemente para
indicar la ausencia de otro número.
Pero los científicos mayas eran a la vez sacerdotes ocupados en la observación astronómica y para expresar
los número correspondientes a las fechas usaron unas unidades de tercer orden irregulares para la base 20.
Así la cifra que ocupaba el tercer lugar desde abajo se multiplicaba por 20×18=360 para completar una cifra
muy próxima a la duración de un año.
OPERACIONES ARITMÉTICAS DE LOS DISTINTOS SISTEMAS.
Al igual que en el sistema decimal, también en otros sistemas de numeración, se pueden realizar operaciones
aritméticas, tales como: suma, resta, multiplicación y división tomando como referencia la base del sistema
dado.
SUMA BINARIA, OCTAL Y HEXADECIMAL.
En general, para realizar la suma se procede de la misma forma como se hace en el sistema decimal. Por
ejemplo, si
es un número dado en una base b y
es otro dado en la misma base entonces la suma se debe realizar de la
siguiente forma:
Los dígitos mj=(aj+hj+cj-1) pertenecientes al resultado se forman sumando los dígitos de cada columna de los
cosumandos, más el acarreo cj-1 que viene de la columna anterior. Cada unidad de acarreo tiene el mismo
valor de la base del sistema, por ejemplo, en la suma binaria es dos, en octal ocho y en hexadecimal dieciséis.
Por ejemplo, llevar 2 en hexadecimal significa que el acarreo es el doble de la base y vale exactamente 32; de
este mismo modo, en binario equivale a 4 veces y 16 en octal. Los acarreos aparecen cuando las semisumas
de las columnas superan la base del sistema numérico.
SUMA BINARIA: Las operaciones de suma binaria se realizan de la siguiente forma:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
Llevo
1 + 1 = 0 1
Ejemplo: Dado los números binarios: W=1111100012; T=11011101012; Obtener W+T
0 1 1 1 1 1 0 0 0 0 1
0 1 1 0 1 1 1 0 1 0 1
1 1 1 0 1 0 1 0 1 1 0
SUMA OCTAL: Se debe restar o dividir la semisuma de cada columna, cuando la misma exceda la base del
sistema, y colocar en la columna inmediata del lado izquierdo, el valor del acarreo tantas veces se haya
superado la base del sistema. De esta misma forma cada unidad que se acarree equivale a ocho unidades de
la columna anterior.
Ejemplo: Dado los números binarios: A. 40740647 y B. 25675300, Obtener A+B
SUMA HEXADECIMAL: Se debe restar o dividir la semisuma de cada columna, cuando la misma exceda la
base del sistema, y colocar en la columna inmediata del lado izquierdo, el valor del acarreo tantas veces se
haya superado la base del sistema. Cada unidad que se acarree equivale a dieciséis unidades de la columna
anterior.
Ejemplo: Dado los números binarios:
MULTIPLICACIÓN BINARIA, OCTAL Y HEXADECIMAL.
La operación aritmética de multiplicar se realiza del mismo modo que en el sistema numérico decimal.
MULTIPLICACIÓN BINARIA:
Ej: Multiplicar A. 1110112 y B. 1112
1 1 1 0 1 1
x 1 1 1
1 1 1 0 1 1
1 1 1 0 1 1
1 1 1 0 1 1
1 1 0 0 1 1 1 0 1
MULTIPLICACIÓN OCTAL:
Ej: Multiplicar A. 672348 y B. 168
6 7 2 3 4
x 1 6
5 1 3 6 5 0
+ 6 7 2 3 4
1 4 0 6 2 1 0
MULTIPLICACIÓN HEXADECIMAL:
Ej: Multiplicar A. 67D3416 y B. 1216
6 7 D 3 4
x 1 2
C F A 6 8
+ 6 7 D 3 4
7 4 C D A 8
DIVISIÓN BINARIA, OCTAL Y HEXADECIMAL.
La operación aritmética de dividir se realiza del mismo modo que en el sistema numérico decimal.
DIVISIÓN BINARIA:
DIVISIÓN OCTAL Y HEXADECIMAL: La división se efectúa del mismo modo que en el sistema decimal y se
realiza directamente en la misma base del sistema octal o hexadecimal. Sin embargo, también se puede
obtener previamente la conversión en binario y proceder, como en el caso anterior, a realizarla en binario; y
después el resultado transformarlo de nuevo al sistema numérico original.
COMPLEMENTO DE UN NÚMERO CON RESPECTO A LA BASE DEL SISTEMA.
Las representaciones de los números en los distintos sistemas son hechas por convenciones y acuerdos. La
finalidad de esto es buscar formas sencillas de manejar universalmente operaciones y representaciones
numéricas, representar números fraccionarios, números negativos, etc. El complemento de un número sirve
para normalizar y reglamentar las operaciones aritméticas con signo, de forma que puedan ser procesadas
por los circuitos internos de una calculadora o computadora.
El complemento a la base de un número se define por la siguiente fórmula:
(Ec.1.3) donde
dígitos y
es el número complementado a la base
es el número dado.
Ejemplo: Hallar el complemento a diez del número 89732410
del sistema, n la cantidad de
Solución: El número esta dado en el sistema decimal y la cantidad de dígitos es seis
Ejemplo: Hallar el complemento a dieciséis del número A9EFC21 16
Solución: El número está dado en el sistema hexadecimal y la cantidad de dígitos es siete.
Ejemplo: Hallar el complemento a ocho del número 604728
Solución: El número está dado en el sistema octal y la cantidad de dígitos es cinco.
Ejemplo: Hallar el complemento a dos del número 100111011101 2
Solución: El número está dado en el sistema binario y la cantidad de dígitos es doce.
COMPLEMENTO DISMINUIDO EN UNO A LA BASE DEL SISTEMA.
Existe otra forma de hallar el complemento a la base del sistema, ésta es, obteniendo el complemento
disminuido a uno y luego sumando uno. Para obtener esta fórmula se procede con un artificio en la Ec.1.3 de
la siguiente forma:
(Ec.1.3.1). El valor
(Ec.1.4)
Se conoce como el complemento de la base disminuido a uno. También se le denomina complemento a uno
del sistema numérico correspondiente y por lo tanto, para hallar el complemento a la base solamente se le
debe sumar uno a la (Ec.1.4).
COMPLEMENTO DISMINUIDO A UNO DEL SISTEMA BINARIO, OCTAL Y HEXADECIMAL.
El complemento disminuido a uno se obtiene aplicando la Ec.1.4 en cualquiera de los sistemas numéricos. La
expresión (bn-1) se debe usar como minuendo en el tope de la potencia bn menos uno, lo que significa tener
una cifra compuesta por los dígitos más significativos y de mayor valor del sistema numérico. Por ejemplo,
para hallar el minuendo de 564378, en el sistema octal, se procede de la siguiente forma:
n=5; entonces 85 -1=1000008 -1=777778. Ahora, para hallar el complemento disminuido a uno se resta el
número dado:
.
Ejemplo: Hallar el complemento disminuido a uno de los siguientes números:
a) 24BCA0F716; b) 100111011012; c) 12657308
Sol. (a):
Sol. (b):
Sol. (c):
En cualquier sistema de numeración el complemento disminuido a uno se puede hallar con la fórmula
resultante de la Ec.1, Ec.2 y Ec.3 de la siguiente forma:
Donde cada (b-1)
corresponde al dígito de mayor peso en el sistema de numeración de base b. Los aj son los n dígitos del
número que se va complementar, con j=0,1,....,n-2,n-1. El complemento disminuido a uno se halla, en forma
directa, de la siguiente manera:
(Ec.1.4.1).
Ejemplo: Hallar el complemento disminuido a uno de los siguientes números:
a) FCBC4016; b) 1010110112
Solución (a):
Solución (b):
COMPLEMENTO A UNO.
Es un caso particular del complemento disminuido a uno de la base binaria, tiene muchas aplicaciones en los
circuitos digitales y sistemas de computación. Sirven para representar tablas numéricas de cantidades
positivas y negativas, invertir los estados de los bits que conforman el dato binario y es utilizado como paso
previo para hallar el complemento a dos. De la Ec.1.4 se puede determinar que el complemento a uno se
obtiene invirtiendo el estado o nivel de los bits que conforman la cifra.
Ejemplo: Hallar el complemento a uno de los siguientes números binarios:
a) 1100010101011110102; b) 1010110101012
Solución (a):
Solución (b):
COMPLEMENTO A DOS.
Es un caso particular del complemento a la base del sistema binario, tiene muchas aplicaciones en los
circuitos digitales y sistemas de computación. Sirven para representar tablas numéricas de cantidades
positivas y negativas, invertir los estados de los bits que conforman el dato binario y realizar operaciones
aritméticas con signo en el sistema binario. Con la Ec.1.3 se puede determinar el complemento a dos de un
número binario; no obstante, con la misma ecuación se puede hallar un método directo para obtener también
el complemento a dos. Este método consiste en ir seleccionando y colocando de derecha a izquierda los
dígitos binarios hasta conseguir el primer bit en uno, de allí en adelante se cambian de estado todos los bits
restantes.
El otro método para hallar el complemento a dos consiste en obtener el complemento a uno de la cifra y luego
sumarle uno; esto último está reflejado en la (Ec.1.3.1).
Ejemplo: Hallar el complemento a dos de los siguientes números binarios:
a) 1011001010101112; b) 100011010001002; c) 101110011100002
Aplicando el método con la (Ec.2.1);
Solución (a):
Solución (b):
Solución (c):
REPRESENTACIÓN NUMÉRICA EN COMPLEMENTO A DOS.
En el sistema binario, la forma más utilizada para representar los números enteros con signo es la de
complemento a dos. Los circuitos microprocesadores poseen internamente unidades de procesamiento
aritmético que trabajan bajo éste formato, el cual puede estar constituido por n bits múltiplos de la potencia de
base dos. Por ejemplo, para representar los números positivos y negativos se definen datos con tamaño
estándar: ocho bits, 16 bits, 32 bits, etc.
En este formato, el bit más significativo (MSB) del dato se utiliza para indicar el signo y los bits restantes
representan la magnitud del número. En la figura 1.2 se puede apreciar la representación del formato utilizado
para 16 bits, donde el más significativo (B15) indica que el signo es negativo si vale uno o positivo si vale cero.
Las cantidades positivas se encuentran en binario normal mientras que los números negativos están en
complemento a dos, esto significa que estos últimos, se deben complementar para poder hallar su verdadero
valor.
El complemento de un número, en éste formato, es igual que cambiar el signo del mismo. Por otra parte, el
complemento del complemento da como resultado el mismo número.
Ejemplo: Determinar el valor de los siguientes números dados en representación con signo de 16 bits
(Formato de 16 bits):
a) 11001010101110002; b) 7FA816; c) 11111100000111002;
d) 1761028; e) FA816;
Solución (a): El bit 15 del dato vale uno; esto significa que el número es negativo y está dado en
complemento a dos. Primero se debe complementar el dato para hallar su verdadero valor en binario y
después se transforma a decimal.
Solución (b): Se debe transformar hexadecimal a binario y completar con ceros a la izquierda en caso de que
el dato no tenga los 16 bits completos. Luego se hace la transformación a decimal.
Solución (c): El bit 15 del dato vale uno; esto significa que el número es negativo y está dado en
complemento a dos. Primero se debe complementar el dato para hallar su verdadero valor en binario y
después se transforma a decimal.
Solución (d): Se debe transformar octal a binario y completar con ceros a la izquierda en caso de que el dato
no tenga los 16 bits completos. Luego se hace la transformación a decimal.
Solución (e): Se debe transformar hexadecimal a binario y completar con ceros a la izquierda en caso de que
el dato no tenga los 16 bits completos. Luego se hace la transformación a decimal.
OPERACIONES ARITMÉTICAS EN COMPLEMENTO A DOS.
La suma y resta son las operaciones básicas realizadas por los microprocesadores, cualquiera otra operación,
es consecuencia recursiva de éstas. A continuación se describen estas dos operaciones aritméticas,
realizadas con números binarios en complemento a dos utilizando formato de signo y magnitud de 16 bits.
SUMA EN COMPLEMENTO A DOS.
Son cuatro casos que se presentan al sumar dos datos en formato con signo de complemento a dos:
I) SUMA DE DOS NÚMEROS POSITIVOS. El resultado debe ser positivo, y el bit más significativo de la
suma, siempre dará cero.
Ejemplo: A = 1000111110001002; B = 100101101110112.
Antes de realizar la suma binaria se debe tener la precaución de sumar en decimal los números. De esta
manera se puede chequear el resultado de la suma para tener la certeza de que no exceda el valor +32767 10
y por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como OVERFLOW). También el 16vo bit en
uno señala el sobreflujo de la operación.
II) SUMA DE UNO NEGATIVO Y OTRO POSITIVO. El resultado debe poseer el signo del que tenga mayor
valor absoluto. En este caso el resultado es positivo y el 16vo bit vale cero.
Ejemplo: A = 11010110010101102; B = 1101101101110112
III) SUMA DE UNO POSITIVO Y OTRO NEGATIVO. El resultado debe poseer el signo del que tenga mayor
valor absoluto. En este caso el resultado es negativo y el 16vo bit vale cero; del mismo modo no se debe
tomar en cuenta el acarreo del 17vo bit.
Ejemplo: A = 110110110101012; B = 10010110111010012
A = 11110011111100002; B = 1001110111001012
Con dos números de distintos signos se dan los casos de acarreo en el 17vo bit. Si éste acarreo es cero
significa que el resultado es negativo y se debe complementar para hallar su verdadero valor de la otra forma,
si el acarreo es uno, entonces el signo del resultado es mayor o igual a cero y se encuentra en verdadero
valor.
IV) SUMA DE DOS NÚMEROS NEGATIVOS. El resultado debe ser negativo, por lo tanto el bit más
significativo de la suma siempre dará uno.
Antes de realizar la suma binaria se debe tener la precaución de sumar en decimal los números. De esta
manera se puede chequear el resultado de la suma para tener la certeza de que no exceda el valor -3276710 y
por lo tanto no sobrepasar el formato de 16 bits (Esto se conoce como OVERFLOW). También el 16vo y/o
17vo bits en cero señalan el sobreflujo de la operación.