Dev - C++ - Consulta sobre ampersand

 
Vista:

Consulta sobre ampersand

Publicado por Pedro (1 intervención) el 19/11/2005 12:55:36
Hola. Quisiera saber para qué sirve usar dos ampersand en lugar de uno ya que estoy en un curso, pero no me entero mucho. No sé si es que este profesor no se explica bien, pero claro, tampoco tengo el nivel de los demás y no me gusta ser follonero. Dijo que supongamos que estamos recorriendo un array. Suponemos que estamos comparando un elemento con el siguiente. Tengo anotado que usando dos se soluciona el que se haga una comprobación de más, evitando el desbordamiento, como ocurre en el ejemplo siguiente:

a=4
b=6

if (a==5 & b==6) -->

Recorriéndolo con la variable i:

if ( i<10 & a[i] ! = a [i+1] )

Se produce una excepción y termina la ejecución (nos pasamos del valor).

Eso es todo lo que tengo, gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta sobre ampersand

Publicado por Gilberto (3 intervenciones) el 20/11/2005 14:37:52
Mira: los operadores & y && son distintos, el primero es el operador "and" y se usa para efectuar disyunción lógica a nivel de bits de sus operandos, como 3&1 = 1; se usa principalmente para hacer "mascaras" de bits en programas de sistemas, donde por ejemplo, te interese saber el estado del bit 7 de la palabra recibida por un puerto serial. El doble ampersand se usa para comprobar que dos sentencias se cumplen, como tu ejemplo, ahora bien, si hay mas operadores lógicos en una sentencia como:

if((cargo <20 && cargo > 500) && cambio == 150)

como todos los operadores lógicos son "AND", si se comprueba la falsedad de uno, implica que toda la sentencia es falsa, y ya no se evalua el resto de ella(se dice "shortcut"), pero eso solo con operadores de este tipo (&&,||,!) para sentencaias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar