Diseño de circuitos digitales y tecnología de computadores/Sistemas de numeración
Representación posicional de los números
[editar]En un sistema de numeración de base B, cada número se expresa con un conjunto de cifras. En el sistema decimal (B=10) el conjunto de cifras es {0,1,2,3,4,5,6,7,8,9}, mientras que en el sistema binario (B=2) es {0,1}. Cada cifra ni contribuye con un valor que depende de la cifra en sí y de la posición i que ocupa dentro del número:
N = ...n4 n3 n2 n1 n0 , n-1 ... = ...n4·b4 + n3·b3 + n2·b2 + n1·b1 + n0·b0 + n-1·b-1 + ... |
Por ejemplo, el número 4964,85 en base 10 se puede expresar según la fórmula anterior del siguiente modo
4964,84)10 = 4·103 + 9·102 + 6·101 + 4·100 + 8·10-1 + 5·10-2 |
Esta fórmula se utiliza para obtener el valor decimal de un número expresado en cualquier otra base.
Cambio de una base B a base 10
Transformar el número 10100,001 en base 2 a su representación en decimal
Transformación de decimal a otra base B
[editar]- La parte entera se obtiene dividiendo por B (sin decimales) la parte entera del número decimal y de los cocientes que sucesivamente se vayan obteniendo. Los restos y el último cociente son las cifras del número en base B. El último cociente es la cifra más significativa y el primer resto es la cifra menos significativa.
- La parte fraccionaria se obtiene multiplicando por B sucesivamente la parte fraccionaria del número decimal y las partes fraccionarias que se van obteniendo en los productos sucesivos. El número en base B se forma con las partes enteras de los productos obtenidos.
Cambio de base 10 a base 2
Transformar el número decimal 29,375 a su representación en binario
Para transformar números enteros binarios no muy grandes a decimal se puede utilizar un método más rápido. Dado que el sistema binario sólo utiliza los elementos 0 y 1, basta con sumar los pesos de las posiciones de un número cuya cifra es 1. El siguiente ejemplo ilustra el cambio de base del número binario 1010)2 a decimal:
Posición (p) | 3 | 2 | 1 | 0 |
Peso (2p) | 8 | 4 | 2 | 1 |
Dígito binario | 1 | 0 | 1 | 0 |
Resultado | 8+2=10 | |||
Se suman los valores decimales con las casillas de unos |
Operaciones aritméticas en binario
[editar]Suma en binario natural (sin signo)
[editar]0+0=0 |
Complemento a 2 y complemento a 1
[editar]El complemento a la base b de un número N de n cifras se calcula según la fórmula:
Cb(N) = bn - N |
Complemento a la base en decimal
Hallar el complemento a la base del número decimal 67
En binario, el complemento a la base se denomina complemento a dos (Ca2).
Complemento a 2
Hallar el complemento a dos del número binario 1010
El complemento a la base menos uno (b-1) de un número N se calcula según la fórmula:
Cb-1(N) = (bn -1) - N |
Complemento a la base menos uno en decimal
Hallar el complemento a la base menos uno del número decimal 67
En binario, el complemento a la base menos uno se denomina complemento a uno (Ca1) y se obtiene directamente complementando cada una de las n cifras binarias.
Complemento a uno
Hallar el complemento a uno del número binario 1010
Debido a que el complemento a uno se obtiene directamente complementando cada cifra binaria, la forma más sencilla de obtener el complemento a dos de un número binario es sumando uno a su complemento a 1.
Complemento a uno
Hallar el complemento a uno del número binario 1010
Resta en binario natural (sin signo)
[editar]Para restar números naturales, el minuendo debe ser siempre mayor que el sustraendo.
0-0=0 0-1=1 (acarreo = 1) 1-0=1 1-1=0 |
La resta de dos números binarios se puede realizar mediante una suma usando cualquiera de los dos métodos siguientes:
- método del complemento a dos: sumando al minuendo el complemento a dos del sustraendo, despreciando el acarreo,
- método del complemento a uno: sumando al minuendo el complemento a uno del sustraendo, sumando al resultado el acarreo generado por la suma.
Resta binaria usando el complemento a 1
Realizar la resta binaria 1000111 - 10010 por el método del complemento a uno
Como el minuendo tiene 7 cifras, el complementario del sustraendo hay que hallarlo con 7 cifras también. Recuerde que el complemento a uno puede calcularse directamente complementando cada cifra binaria.
Ca1(10010) = Ca1(0010010) = 1101101
(el acarreo se suma al resultado)
Resta binaria usando el complemento a 2
Realizar la resta binaria 1000111 - 10010 por el método del complemento a dos
Ca2(10010) = Ca1(10010) + 1 = 1101101 + 1 = 1101110
(el acarreo se desprecia)
Suma y resta de números enteros (con signo)
[editar]La resta de dos números enteros equivale a la suma del minuendo más el sustraendo cambiando el signo a éste último:
- Minuendo - Sustraendo ≡ Minuendo + (-Sustraendo)
La suma de números enteros del mismo signo se realiza del mismo modo que la suma de números naturales, siendo el signo del resultado el mismo que el de los operandos.
Para sumar dos números enteros con distinto signo, se realiza la resta en binario natural de los dos sumandos, tomando como minuendo el sumando con mayor valor absoluto. El signo del resultado es el mismo que el del sumando con mayor valor absoluto.
Suma de enteros de distinto signo
Realizar la suma binaria +10010 + (-1000111)
- Se restan ambos números, tomando el sumando con mayor valor absoluto como minuendo:
- El signo del resultado es el del operando con mayor valor absoluto:
Códigos intermedios
[editar]Los sistemas de numeración octal y hexadecimal, usados como códigos intermedios, facilitan la transformación de un número de base 2 a base 10, y viceversa. Esta ventaja se debe a que ambos sistemas (octal y hexadecimal) tienen como base una potencia de 2.
Octal
[editar]En el sistema de numeración octal (base = 8) el conjunto de cifras es {0,1,2,3,4,5,6,7}. Para expresar en binario cada una de las 8 cifras octales se necesitan exactamente 3 bits (23 = 8). Gracias a esto, se puede pasar directamente de binario a octal y viceversa, utilizando la siguiente correspondencia entre dígitos octales y palabras binarias de tres bits:
octal | binario |
0 | 000 |
1 | 001 |
2 | 010 |
3 | 011 |
4 | 100 |
5 | 101 |
6 | 110 |
7 | 111 |
Cambio de base 2 a base 10 usando el código octal
Transformar el número binario 10001101100,1101 a decimal usando el sistema de numeración octal como código intermedio
010 001 101 100,110 100 = 2154,64)8 = 2·83 + 1·82 + 5·81 + 4·80 + 6·8-1 + 4·8-2 = 1132,8125
Cambio de base 10 a base 2 usando el código octal
Transformar el número decimal 760,73 a binario usando el sistema de numeración octal como código intermedio
- Paso a octal de la parte entera
- Paso a octal de la parte fraccionaria
- Paso de octal a binario
- 1370,565)8 = 001 011 111 000,101 110 101)2
Hexadecimal
[editar]En el sistema de numeración hexadecimal (base = 16) el conjunto de cifras es {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. Para expresar en binario las 16 cifras hexadecimales se necesitan exactamente 4 bits (24 = 16). Gracias a esto, se puede pasar directamente de binario a hexadeciaml y viceversa, utilizando la siguiente correspondencia entre dígitos hexadecimales y palabras binarias de cuatro bits:
decimal | hexadecimal | binario |
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
10 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1110 |
15 | F | 1111 |
Cambio de base 2 a base 10 usando el código hexadecimal
Transformar el número binario 10100111100110001100,0001111 a decimal usando el sistema de numeración hexadecimal como código intermedio
1010 0111 1001 1000 1100,0001 1110 = A798C,1E)16 = = 10·164 + 7·163 + 9·162 + 8·161 + 12·160 + 1·16-1 + 14·16-2 = 686476,1171875)10
Cambio de base 10 a base 2 usando el código hexadecimal
Transformar el número decimal 4573,79 a binario usando el sistema de numeración hexadecimal como código intermedio
- Paso a hexadecimal de la parte entera
- Paso a hexadecimal de la parte fraccionaria
- Paso de hexadecimal a binario
- 4573,CA)_{16} = 0100 0101 0111 0011,1100 1010)_2