Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Es decir que habr situaciones en las cuales los valores decimales tengan que convenirse en valores binarios antes de que se introduzcan en sistema digital. Entonces habr situaciones en que los valores binarios de las salidas de un circuito digital tengan que convertir a valores decimales para presentarse al mundo exterior. Por otro lado del binario y el decimal, otros dos sistemas de numeracin encuentran amplias aplicaciones en los sistemas digitales. Los sistemas octal base !" y hexadecimal base #$" se usan con el mismo fin, que es ofrecer un eficaz medio de representacin de n%meros binarios grandes. &omo veremos, ambos sistemas num'ricos tienen la venta(a de que pueden convenirse fcilmente al y del binario. )abla &omparativa
decimal * # , . 0 1 $ 3
hexa binario * # , . 0 1 $ 3 #*** #**# #*#* #*## ##** ##*# ###* ####
decimal ! + #* ## #, #. #0 #1
hexa ! + / & 2 E 4
2. Sistema de numeracin binario &onversin de binario a decimal.5 El sistema de numeracin binario u un sistema de posicin donde cada d6gito binario bit" tiene un valor basado en su posicin relativa al L7/. &ualquier n%mero binario puede convenirse a su equivalente decimal, simplemente sumando en el n%mero binario las diversas posiciones que contenga un #. Por e(emplo8 # # # * # #, de binario a decimal # x ,1 9 # x ,0 9 # x ,. 9 * x ,, 9 # x , 9 # : $+#* &onversin de decimal a binario.5 Existen dos maneras de convenir un n%mero decimal entero a su representacin equivalente en el sistema binario. El primer m'todo es inverso al proceso descrito anteriormente. El n%mero decimal se expresa simplemente como una suma de potencias de , y luego los unos y los ceros se escriben en las posiciones adecuadas de los bits. Por e(emplo8
#30 ,
!3
0.
,#
#*
9 * 9 ,*
* ; ,* :
# ; ,# :
# ; ,, :
# ; ,. :
* ; ,0 :
# ; ,1 :
.,
* ; ,$ :
# ; ,3 :
#,!
#30 #*#*###*, : #30#* El segundo m'todo consiste dividir repetidas veces el n%mero entre dos hasta que su cociente sea menor que 'l. Por e(emplo8
con residuo *
con residuo #
con residuo *
con residuo *
con residuo *
con residuo *
con residuo *
con residuo # Entonces el n%mero se forma tomando los residuos pero en forma inversa, es decir el primer digito ser el %ltimo residuo y as6 sucesivamente. El n%mero quedar6a como sigue8 # * * * * * # *, 3. Operaciones Binarias En lo que sigue se adopta como convencin la lgica positiva, lo que implica8 verdadero : # : activo, 555555, falso : * : inactivo <ay cinco operaciones binarias bsicas8 -=2, >?, =>), @>? y -22. La resta, multiplicacin y divisin se derivan de estas cinco anteriores. &ualquiera sea la longitud de la palabra o palabras ob(eto de la operacin, 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 definicin de cada operacin que es independiente de la longitud del o de los operando s". La operacin =>) es la %nica que se realiza sobre un slo operando es unaria", y las otras cuatro sobre dos operandos.
o o o o o
La La La La La
-=2 A" tiene resultado # si sus dos operandos son ambos # >? >" tiene resultado # si cualquiera de sus operandos es # @>? tiene resultado # si los operandos son distintos uno en * y el otro en #" =>) =>" tiene resultado # si el operando es * y viceversa -22 7BC-" se define igual que con los n%meros decimales
-=2 *;*:*
>? *9*:*
@>? *@*:*
=>) =>) # : *
7BC*9*:*
*9#:# #9*:# # 9 # : #*
Reglas de la divisin binaria: *D* no permitida, #D* no permitida,*D#:*, #D#:# E(emplos 2e 7uma
# # #
# #
-carreo
# # * * #
,1
# * # * # #
9 0.
# * * * # * *
$!
# #
-carreo
# # *.
# *
$,1*
# # * #.
* #
9 #..,1
# * * # #.
# #
#+.31
# # * * #
,1
# * * # #
; #+
# # * * #
# # * * #
# # * * # * *
# # # * # # * # #
031
Es lo que hacemos en la suma decimal 191:#* nos llevamos E#E para la operacin del d6gito siguiente". Este llevarse E#E es vastamente usado entre los procesadores digitales y tiene un nombre especial8 carry lo ver abreviado como &A, & o &45por carry flag", lo que en castellano se traduce como EacarreoE que suena muy mal, asi que le seguiremos llamando carry". Estas operaciones tambi'n se llaman EbooleanasE ya que se basan en el lgebra de /oole invito al lector a rememorar cuando en la escuela secundaria se preguntaba, igual que yo, si el lgebra de /oole le servir6a alguna vez para algo". En un ordenador el sistema de numeracin es binario 5en base ,, utilizando el * y el #5 hecho propiciado por ser precisamente dos los estados estables en los dispositivos digitales que componen una computadora. Para sumar n%meros, tanto en base , como hexadecimal, se sigue el mismo proceso que en base #*8 Podemos observar que la suma se desa5 #*#* #*#*b rrolla de la forma tradicionalF es decir8 9 **## ##**b sumamos normalmente, salvo en el caso de 55555555555555 # 9 # : #*, , en cuyo caso tenemos un aca5 ###* *##*b rreo de # lo que nos llevamos".
&omplemento a dos. En general, se define como valor negativo de un n%mero el que necesitamos sumarlo para obtener **h, por e(emplo8 44h &omo en un byte solo tenemos dos nibbles, es 9 *#h decir, dos d6gitos hexadecimales, el resultado es 555555 * observar cmo el # ms significativo subrayado #**h es ignorado". Luego 44h:5#. =ormalmente, el bit 3 se considera como de signo y, si est activo a #" el n%mero es negativo. Por esta razn, el n%mero !*h, cuyo complemento a dos es 'l mismo, se considera negativo 5#,!" y el n%mero **h, 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 notacin binariaF a continuacin se le suma una unidad para calcular el complemento a dos. &on una calculadora, la operacin es ms sencilla8 el complemento a dos de un n%mero - de n bits es , n5-. >tro factor a considerar es cuando se pasa de operar con un n%mero de cierto tamaGo e(., ! bits" a otro mayor pongamos de #$ bits". 7i el n%mero es positivo, la parte que se aGade por la izquierda son bits a *. 7in embargo, si era negativo bit ms significativo activo" la parte que se aGade por la izquierda son bits a #. Este fenmeno, en cuya demostracin matemtica no entraremos, se puede resumir en que el bit ms significativo se copia en todos los aGadidos8 es lo que se denomina la extensin del signo8 los dos siguientes n%meros son realmente el mismo n%mero el 5. #*"8 ##*#, 0 bits" y ######*#, ! bits". 7istema de numeracin octal El sistema de numeracin octal es muy importante en el traba(o que se realiza en una computadora digital. Este tiene una base de ocho, lo cual significa que tiene ocho posibles d6gitos8 *, #, ,, ., 0, 1, $ y 3. -s6, cada d6gito de un n%mero octal puede tener cualquier valor del * al 3. &onversi$n de octal a decimal.5 Por tanto, un n%mero octal puede convenirse fcilmente a su equivalente decimal multiplicando cada d6gito octal por su valor posicional. Por e(emplo8 ,30! : , x !, 9 3 x !# 9 0 x !* ,!0! : , x $0 9 3 x ! 9 0 x # ,!0! : #!!#* &onversin de decimal a octal.5 Bn entero decimal se puede convertir a octal con el mismo m'todo dc divisin repetida que se us en la conversin de decimal a binario, pero con un factor de divisin dc ! en lugar de ,. Por e(emplo8
con residuo 0
con residuo 0
con residuo , -l final resulta que8 #$0#* : ,00! &onversin de octal a binario.5 La venta(a principal del sistema de numeracin octal es la facilidad con que se puede realizar la conversin entre n%meros binarios y octales. La conversin de octal a binario se lleva a cabo conviniendo cada d6gito octal en su equivalente binario dc . bits. Por medio de estas conversiones, cualquier n%mero octal se conviene a binario, convirti'ndolo dc manera individual. Por e(emplo, podemos convertir 1#$, a binario de la siguiente manera8 1#$ #*#. entonces8 1#$! : #*#**###*, &onversi$n de binario a octal.5 La conversin de enteros binarios a octales es simplemente la operacin inversa del proceso anterior. Los bits del n%mero binario se agrupan en con(untos de tres comenzando por el L7/. Luego, cada grupo se convierte a su equivalente octal. Por e(emplo8 ### **# #*# ##* 3#1$ entonces8 ###**##*###*, : 3#1$! 7istema 2e =umeracin <exadecimal &onversin de hexadecimal a decimal.5 Bn n%mero hexadecimal se puede convenir a su equivalente decimal utilizando el hecho de que cada posicin de los d6gitos hexadecimales tiene un valor que es una potencia de #$. El L72 tiene un valor de l$* : #F el siguiente d6gito en secuencia tiene un valor de #$ # : #$F el siguiente tiene un valor de #$, : ,1$ y as6 sucesivamente. Por e(emplo8 !#,#$ : ! x #$, 9 # x #$# 9 , x #$* !#,#$ : ,*0! 9 #$ 9 , !#,#$ : ,*$$#* &onversin de decimal a hexadecimal.5 ?ecuerde que efectuamos la conversin de decimal a binario por medio de la divisin repetida entre , y de decimal a octal por medio de la divisin repetida entre !. 2e igual manera, la conversin de decimal a hexadecimal se puede efectuar por medio de la divisin repetida entre #$. Por e(emplo8 **# ##*
con residuo 3
&onversin de hexadecimal a binario.5 -l igual que el sistema de numeracin octal, el sistema hexadecimal se usa principalmente como m'todo HtaquigrficoE en la representacin de n%meros binarios. Es una tarea relativamente simple la de convertir un n%mero hexadecimal en binario. &ada d6gito hexadecimal se convierte en su equivalente binario de 0 bits. Por e(emplo8 $2,. ##*. entonces8 $2,.#$ : ##*##*#**#***##, &onversin de binario a hexadecimal.5 Esta conversin es exactamente la operacin inversa del proceso anterior. El n%mero binario se agrupa en con(untos de cuatro bits y cada grupo se convierte a su d6gito hexadecimal equivalente. &uando es necesario se aGaden ceros para completar un grupo de cuatro bits. ###*#**##*, : **## #*#* *##* .-$ ###*#**##*, : .-$#$ ##*# **#* **##
Or: su salida sera alta si cualquiera de sus entradas es alta AND: su salida sera alta si y solo si todas sus entradas sean altas la NOT que invierte el valor si viene alta sale baja, o al contrario si viene baja sale alta
Nmero Binario de ) Bits: &+&+ Conversi(n por posiciones: *& . / a la 01 , 2 *+, 2 *& . / a la &1 , 2 *+, Nmero Decimal: 3 2 + 2 / 2 + 4 &+
Nmero Binario de 3 Bits: &++&&+ Conversi(n por posiciones: *& . / a la 61 , 2 *+, 2 *+, 2 *& . / a la /1 , 2 *& . / a la &1 , 2 *+, Nmero Decimal: 0/ 2 + 2 + 2 ) 2 / 4 03
"a potencia de / m9s cercana a &6/ es &/3 */ a la :1 , Octavo Bit, &6/ ; &/3 4 // "a potencia de / m9s cercana a // es &5 */ a la )1 , <uinto Bit, // ; &5 4 5
"a potencia de / m9s cercana a 5 es ) */ ala /1 , Tercer Bit, 5 ; ) 4 / "a potencia de / m9s cercana a / es / */ ala &1 , =e%undo Bit, / ; / 4 +
/! "a se%unda es la llamada >Divisi(n epetida>, esta manera de conversi(n se basa en repetir la divisi(n del nmero decimal entre dos, $asta lle%ar al cero! =i el residuo de la divisi(n no es un nmero entero, se marca un & y se toma el nmero entero par volver a dividir entre dos, cuando el esiduo es un nmero entero, se marca un cero y se toma el nmero para volver a dividir entre dos! El residuo de la primero divisi(n es el *"=B, primer Bit,, el residuo de la ltima divisi(n es el *?=B, ltimo Bit,! Esto se ilustra as-:
Tres posiciones 3 a la /1 , 3 la &1 , 3 a la +! @rimer Bit Octal *6 . 3 a la +, 4 6 . & 4 6 =e%undo Bit Octal *0 . 3 a la &1 , 4 0 . 3 4 /) Tercer Bit Octal *) . 3 a la /1 , 4 ) . 5) 4 /65 Nmero decimal 4 *6 2 5) 2 /651 , 4 /36
=e a%rupan los bits en tr-os *&+&&&+++&, 4 &+& ; &&+ ; ++& =e convierte el @rimer tr-o *donde se encuentra el "=B, ++& 4 & =e convierte el =e%undo tr-o &&+ 4 5 =e convierte el Tercer tr-o *donde se encuentra el ?=B, &+& 4 6 Nmero Octal 4 65&
Convertir un nmero Binario que no tiene sus tr-os completos, &+&+&&&+++& al =istema Octal ser-a:
=e a%rupan los bits en tr-os *&+&+&&&+++&, 4 &+ C &+& ; &&+ ; ++& Completar los tr-os *a%re%ando un +, 4 +&+ C &+& ; &&+ ; ++& =e convierte el @rimer tr-o *donde se encuentra el "=B, ++& 4 & =e convierte el =e%undo tr-o &&+ 4 5 =e convierte el Tercer tr-o &+& 4 6 =e convierte el Cuarto tr-o *donde se encuentra el ?=B, +&+ 4 / Nmero Octal 4 /65&
se%undo Bit ser-a &5 a la &1 4 *&5,, el tercer Bit ser-a &5 a la /1 4 */65,, aumentando las potencias de &5 $asta lle%ar al ltimo Bit *?"B,! "a conversi(n se reali7a entonces de la si%uiente manera:
=e a%rupan los bits en cuartetos *&+++&+&++++&, 4 &+++ C &+&+ C +++& =e convierte el @rimer cuarteto *donde se encuentra el "=B, +++&4 & =e convierte el =e%undo tr-o &+&+ 4 &+ 4 A =e convierte el Tercer tr-o *donde se encuentra el ?=B, &+++ 4 3 Nmero De. 4 3A&
Cada uno de los d-%itos del Nmero Decimal es convertido en su equivalente Binario, =iempre utili7ando ) Bits para este proceso! En resumen, el C(di%o BCD representa por separado cada uno de los numerales Decimales, empleando para ello nmeros Binarios de ) Bits! Como es l(%ico, si s(lo se puede representar un solo nmero decimal por cada c(di%o BCD, los nmeros del &+ al &6 *que es el nmero decimal m9s alto para un c(di%o Binario de ) Bits, &&&&,, est9n #uera del c(di%o, de $ec$o, si tenemos al%n circuito di%ital que trabaja sobre C(di%o BCD y nos diera una salida como las si%uientes, al%o no est9 #uncionando bien:
Decimal &+ 4 Binario &+&+ Decimal && 4 Binario &+&& Decimal &/ 4 Binario &&++ Decimal &0 4 Binario &&+& Decimal &) 4 Binario &&&+ Decimal &6 4 Binario &&&&