Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Operaciones logicas, a nivel bits

Estas en el tema de Operaciones logicas, a nivel bits en el foro de C/C++ en Foros del Web. Los operadores, &, !, ,|, ^, tambien ~, son los de operaciones y/0 manejo a nivel de bits, junto con los de desplazamiento >> ,<<. ...
  #1 (permalink)  
Antiguo 18/09/2006, 18:19
 
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
Operaciones logicas, a nivel bits

Los operadores, &, !, ,|, ^, tambien ~, son los de operaciones y/0 manejo a nivel de bits, junto con los de desplazamiento >> ,<<. pero buscaba algo como esto:

e= !a - b^c + b & d

Buscaba si existiera alguna funcion para implementar este tipo de operaciones en C, pero hasta ahorita solo eh encontrado lo habitual.

Alguien ah necesitado algo al respecto o sabra de alguna funcion?
  #2 (permalink)  
Antiguo 18/09/2006, 18:54
arm
 
Fecha de Ingreso: mayo-2006
Mensajes: 112
Antigüedad: 18 años
Puntos: 0
¿
A un numero cuya reprsentacion binario
!a
le quieres restar
b^c
y luego sumar
b & d
?
m....
Si es esto lo que quieres hacer....
...pues no hay error sintactico si haces esto:
e=(int)(!a )-(int)(b^c ) + (int)(b & d);
pero, no se si entendi.
__________________
-> La duda adecuada es un buen comienzo <-
  #3 (permalink)  
Antiguo 18/09/2006, 19:02
arm
 
Fecha de Ingreso: mayo-2006
Mensajes: 112
Antigüedad: 18 años
Puntos: 0
ahhhh...

te referias a + y - como operadores logicos?
si sobrecargas estos operarores, podras hacer que se coporten como lo dese
__________________
-> La duda adecuada es un buen comienzo <-
  #4 (permalink)  
Antiguo 18/09/2006, 19:34
 
Fecha de Ingreso: octubre-2005
Mensajes: 17
Antigüedad: 18 años, 6 meses
Puntos: 0
Tratare de explicar mas:)

Arm primeramente gracias por tu respuesta y atencion a mi duda.


si mira por ejemplo
a=8
b=10
c=20
d=4
e=?¿
e=!a - b^c + b & d
asi es, expresiones como esas son las que va introducir un "usuario" la duda es si habra alguna funcion que al respecto.
por ejemplo
tu sabes que
e=2*((20/(12-2))+5). este tipo de expresion en C nos daria el resultado sin complicaciones , que seria 14.



saludos y gracias por tu atencion arm
  #5 (permalink)  
Antiguo 19/09/2006, 16:08
arm
 
Fecha de Ingreso: mayo-2006
Mensajes: 112
Antigüedad: 18 años
Puntos: 0
ok, las variables son de tipo entero, pero no hay una funcion predefinida en c que haga eso, pero si puedes hacerla.
¿Sabes hacer hacer funciones?

Primero tines que declararla, esto normalmente se hace en un archivo de cabecera(.h). No te pedo poner la sintzxis por que mi teclado es rarito, pero quedaria algo asi:

//prototipo
int miFuncionLog(int a, intb,int c, int d);


en un archivo de implementacion (.cpp) normalmente es dondo pondras tu tuncion
int miFuncionLog(int a, intb,int c, int d)
{
//aqui van la que quieres hacer
return valor;
}

//ahora ya tiene un funcion que llamas como a todas las demas.
e=miFuncionLog(...);

espero habeerle atinado esta vez
__________________
-> La duda adecuada es un buen comienzo <-
  #6 (permalink)  
Antiguo 20/09/2006, 11:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1
Antigüedad: 17 años, 7 meses
Puntos: 0
yo necesito un programa con los operadores logicos

yo necesito algo como eso

e= !a - b^c + b & d
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.