expresion extraña
Soy neófito en este lenguaje pero no en Programación.
He visto en un código fuente que me he bajado por Internet esta expresión:
Image1.Left = Not HScroll1.Value
Y no entiendo como es posible que el valor que devuelva NOT (que ha de ser de tipo lógico) se le asigne a un entero: Image1.Left.
¿Alguien me lo puede explicar?
Muchas gracias
He visto en un código fuente que me he bajado por Internet esta expresión:
Image1.Left = Not HScroll1.Value
Y no entiendo como es posible que el valor que devuelva NOT (que ha de ser de tipo lógico) se le asigne a un entero: Image1.Left.
¿Alguien me lo puede explicar?
Muchas gracias
<<el valor que devuelva NOT (que ha de ser de tipo lógico)>>
No, no, te equivocas. Los operadores AND, OR y NOT también se pueden aplicar sobre datos numéricos. En este caso, actúan sobre el operando a nivel de bits:
AND: Compara los bits de los dos operandos y devuelve un número formado por los bits que están a 1 en los dos operandos.
Por ejemplo: 5 AND 4 = 4 o en binario 00000101 AND 00000100 = 00000100
OR: Compara los bits de los dos operandos y devuelve un número formado por aquellos bits que están a 1 en cualquiera de los dos operandos.
Por ejemplo: 5 OR 4 = 5 o en binario 00000101 OR 00000100 = 00000101
Y por último, el operador NOT invierte todos los bits de un número, devolviendo por lo general su negativo más uno.
Por ejemplo: NOT 5 = -6 o en binario NOT 00000101 = 11111010
No, no, te equivocas. Los operadores AND, OR y NOT también se pueden aplicar sobre datos numéricos. En este caso, actúan sobre el operando a nivel de bits:
AND: Compara los bits de los dos operandos y devuelve un número formado por los bits que están a 1 en los dos operandos.
Por ejemplo: 5 AND 4 = 4 o en binario 00000101 AND 00000100 = 00000100
OR: Compara los bits de los dos operandos y devuelve un número formado por aquellos bits que están a 1 en cualquiera de los dos operandos.
Por ejemplo: 5 OR 4 = 5 o en binario 00000101 OR 00000100 = 00000101
Y por último, el operador NOT invierte todos los bits de un número, devolviendo por lo general su negativo más uno.
Por ejemplo: NOT 5 = -6 o en binario NOT 00000101 = 11111010
O.K.
Ya ves, es que esto de las puertas logicas es todo un rollo.
y ati, eth0, te felicito, se ve que masticas muy bien el binario.
Lo mejor seria que nos explicara el contexto en el que aparece esta sentencia, y asi, poder aydarlo mejor...
Saludos!
. : AlphaSoft : .
Ya ves, es que esto de las puertas logicas es todo un rollo.
y ati, eth0, te felicito, se ve que masticas muy bien el binario.
Lo mejor seria que nos explicara el contexto en el que aparece esta sentencia, y asi, poder aydarlo mejor...
Saludos!
. : AlphaSoft : .
O.K.
Aqui la clave es Not, Not se usa mucho en sentencias como:
If Not parar then Seguir
Esta expresion le dice a VB, que si parar no es verdadero, siga.
Not se usa para invertir un resultado:
If Not Seguir then parar
Si "Seguir" es igual a Falso Not devuelve Vedadero y se cumple la condicioon NOT, porque "Seguir" NO es verdadero.
En tu caso, tengo una idea ( talves estas trabajando con el ZOOM de la imagen ) pero prefiero que me expliques el contexto en el que aparece la Expresion...
Espero que te sirva, Si tienes mas dudas "NO DUDES" en preguntar.
Bienvenido a Visual Basic!
. : AlphaSoft : .
Aqui la clave es Not, Not se usa mucho en sentencias como:
If Not parar then Seguir
Esta expresion le dice a VB, que si parar no es verdadero, siga.
Not se usa para invertir un resultado:
If Not Seguir then parar
Si "Seguir" es igual a Falso Not devuelve Vedadero y se cumple la condicioon NOT, porque "Seguir" NO es verdadero.
En tu caso, tengo una idea ( talves estas trabajando con el ZOOM de la imagen ) pero prefiero que me expliques el contexto en el que aparece la Expresion...
Espero que te sirva, Si tienes mas dudas "NO DUDES" en preguntar.
Bienvenido a Visual Basic!
. : AlphaSoft : .