Se define como operación binaria aquella operación matemática que necesita el operador y dos operandos (argumentos) para que se pueda calcular un valor.
- Conversión de Decimales a Binario, binario a Octal y de binario a Hexadecimal
- Se inicia por el lado derecho del número en binario, c
- Cada número se multiplica por 2 y se eleva a la potencia consecutiva (comenzando por la potencia 0).
- Después de realizar las multiplicaciones se suman todas y el número resultante será el equivalente al sistema decimal.
- 110101 (binario) = 53 (decimal).
1*(2) elevado a (0)=1
0*(2) elevado a (1)=0
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 53
- Decimal a binario
1. Se divide el número decimal entre 2 y el resultado entero se vuelve a dividir entre 2 y así sucesivamente.
2. Una vez llegado al 1 indivisible se cuentan el último cociente, es decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de las divisiones subsiguientes.
3. El número generado de apartir del último al primero será el binario que buscamos. A continuación se puede ver un ejemplo con el número decimal 100 pasado a binario.
100 |_2 0 50 |_2 0 25 |_2 --> 100 1100100 1 12 |_2 0 6 |_2 0 3 |_2 1 1
Binario a octal
1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Número en binario | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
---|---|---|---|---|---|---|---|---|
Número en octal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Ejemplos:
- 110111 (binario) = 67 (octal). Proceso:
111 = 7
110 = 6
Agrupe de izquierda a derecha: 67
- Binario a hexadecimal
1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Número en binario | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Número en hexadecimal | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Ejemplos:
- 110111010 (binario) = 1BA (hexadecimal). Proceso:
1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de izquierda a derecha: 1BA
Existen varios tipos de operadores por ejemplo
- Los operadores aritméticos pertenecen a dos grupos: unos aceptan operandos de tipo numérico; otros aceptan operando de tipo puntero. Además son de dos tipos; unarios (que aceptan un solo operando) y binarios (que aceptan dos). La clasificación es la siguiente:
Operadores aritméticos unarios:
+ más unitario.++ Incremento unitario (dos clases)- menos unitario.-- Decremento unitario (dos clases)
Operadores artiméticos binaros:
+ Suma binaria.- Resta binaria.* Multiplicación/ División.% Resto o módulo.
Estos últimos pueden combinarse con el de asignación = para dar origen a operadores compuestos son los siguientes:
+= Asigna suma-= Asigna diferencia (resta)*= Asigna producto/= Asigna división%= Asigna resto (módulo)
El lenguaje C proporciona seis operadores para manejo de bits; solo puden aplicados a operandos integrales, esto es char, short, int y long, con o sin signo.
- El operador binario AND (&) calcula la operación “y” bit a bit.
- El operador binario OR (|) calcula la operación “o” bit a bit
- El operador binario (^) calcula la operación “o exclusiva”, la diferencia con la anterior es que la “o exclusiva” devuelve True si y sólo si los dos operandos son falsos.
- El operador unario (~) invierte los bits de su operando.
Tienes además, los operandos binarios (<< , >> ), que desplazan los bits a izquierda o derecha tantas posiciones como se las indiques.
Aquí un ejemplo que ayudará a entender estos operadores.