Autor
|
Tema: como se usa operador logico AND en numeros??? (Leído 5,627 veces)
|
x64core
Desconectado
Mensajes: 1.908
|
Hola buenas panas mi duda siguiente parece mu sencilla pero la verdad e visto algunos codigos q usan el operador AND para comparacion de numeros y lo q devuelve es otro numero y no tengo idea de como se hace la comparacion para predecir el resultado alguien q pueda explicar por favor! Gracias dejo un ejemplo : x = 50 and 100 x = 3 and 1000 x = 25 and 5000 ejemplos asi.
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! El operador logico AND tomara el valor binario de ambos numeros y los comparara de esta manera (sigo tus ejemplos) x = 50 and 100
50 = 0100110 100 = 0010011 ---------- 0000010 =8
x = 3 and 1000
3 = 1100000000 1000 = 0001011111 -------------- 0000000000 =0 x = 25 and 5000
25 = 1001100000000 1000 = 0001000111001 ----------------- 0001000000000 =32
GRACIAS POR LEER!!!
|
|
« Última modificación: 24 Mayo 2011, 18:59 pm por 79137913 »
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
:O oh gracias pana pero y el resultado porq varia??? Hace una resta suma?
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Mira and lo que hace es comparar los Bits (los unos y ceros)... si hay dos 1 en la misma posicion se coloca un uno en dicha posicion del resultado. Si no sabes que es el sistema binario te recomiendo este video de u AlteradosPorPi, muy buen programa. http://www.youtube.com/watch?v=ghNtjZ2aP0IAhora que ya entendemos mas o menos que es el sistema binario vamos a la operacion AND. Te lo explico con ejemplos, es mas facil: x = 50 and 100
50 = 0100110 100 = 0010011 ---------- 0000010 =8
Por que da este resultado?
50 = 0100110 100 = 0010011 ---------- 0000010 =8 ^^^^^^^ |||||||____> 0 y 1 son diferentes entonces 0 ||||||_____> 1 y 1 son iguales entonces 1 |||||______> 1 y 0 son diferentes entonces 0 ||||_______> 0 y 0 son iguales entonces 0 |||________> 0 y 1 son diferentes entonces 0 ||_________> 1 y 0 son diferentes entonces 0 |__________> 0 y 0 son iguales entonces 0
x = 58 and 232
58 = 01011100 232 = 00010111 ---------- 00010100 =40
Por que da este resultado?
58 = 01011100 232 = 00010111 ---------- 00010100 =40 ^^^^^^^^ ||||||||____> 0 y 1 son diferentes entonces 0 |||||||_____> 0 y 1 son diferentes entonces 0 ||||||______> 1 y 1 son iguales entonces 1 |||||_______> 1 y 0 son diferentes entonces 0 ||||________> 1 y 1 son iguales entonces 1 |||_________> 0 y 0 son iguales entonces 0 ||__________> 1 y 0 son diferentes entonces 0 |___________> 0 y 0 son iguales entonces 0 GRACIAS POR LEER!!!
|
|
« Última modificación: 24 Mayo 2011, 19:13 pm por 79137913 »
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!!
LEE ARRIBA ^^^^^^
Ahi te actualice la explicacion, espero que entiendas, por si las dudas te dejo como funcionan: OR es parecido solo que con que uno de los dos sea 1 en esa posicion sera 1. XOR es parecido a OR pero solo devuelve 1 en esa posicion si uno de los 2 (no los dos, osea 1, 1 es 0, pero 1,0 o 0,1 es 1).
GRACIAS POR LEER!!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Primero, aca te dejo un reto donde Black y yo hicimos funciones que emulan los operadores binarios, hay una breve explicacion y estan los codigos, espero que entiendas http://foro.elhacker.net/empty-t323992.0.htmlTe pongo un ejemplo de para que sirve: Saber si un numero es par o no: Private Sub Form_Load() For x = 0 To 100 If (x And 1) Then Debug.Print "no_es_par " & x Else Debug.Print "si_es_par " & x End If Next End Sub
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
gracias pana me haz aclarado todo! Hasta lo previsto c t agradece mucho!
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Solo aclaro que los numeros binarios de leen de derecha a izquierda mas no de izquierda a derecha P.E. Esto esta MAL. 58 = 01011100 <--- Este binario no es 58 realmente es el numero 92 232 = 00010111 <--- Este binario no es 232 realmente es el numero 23 ---------- 00010100 =40 <--- Este binario no es 40 realmente es el numero 20
Realmente es asi: CORRECTO: 58 = 00111010 232 = 11101000 ---------- 00101000 =40
Esto es debida a que los 0 a la izquierda del ultimo 1 no tienen valor alguno pero si los 0 a la derecha ... (2a la N) ... 128 64 32 16 8 4 2 1 0 <-----------------------------------| Dulces Lunas!¡.
|
|
« Última modificación: 8 Junio 2011, 04:34 am por BlackZeroX▓▓▒▒░░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Opss, no me di cuenta xD. cuando lo hacia en papel siempre lo pensaba al reves de esto: ... (2a la N) ... 128 64 32 16 8 4 2 1 0 <-----------------------------------|
Igual como tambien leia al reves, no habia problema, los resultados me daban bien XD. GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
|
|