Autor
|
Tema: ¿¿¿Como saber si ciertos bits están activados?? (Leído 3,786 veces)
|
harry_the_blogger
Desconectado
Mensajes: 105
Visita mi blog es enriquemesa.blogspot.com
|
Hola, estoy creando un programa que necesita identificar un cierto patron de bits al inicio del byte. Por ejemplo: Si byte comienza con 10100xxx, ir al codigo tal.
Espero que haya explicado bien mi problema. La idea es saber si ciertos bits dentro de un byte están activados, e ignorar el resto. No sé como lograr eso. Quiero lograr comparar, por ejemplo, los primeros cinco bits contra un patron conocido. No quiero identificar solo un bit, quiero identificar un grupo de ellos.
Gracias por su ayuda.
|
|
« Última modificación: 2 Octubre 2014, 02:45 am por harry_the_blogger »
|
En línea
|
Vista mi blog es enriquemesa.blogspot.com
|
|
|
engel lex
|
puedes hacer una operacion a nivel de bits, ej a= 41248 & B1010000000000000//40960 eso debería devolverte 40960 que es el valor equivalente en binario
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
harry_the_blogger
Desconectado
Mensajes: 105
Visita mi blog es enriquemesa.blogspot.com
|
Oye, ¿¿podrías explicarme con un ejemplo en C/C++?? Es que no tengo muy claro como podría colocar eso dentro de un if (en otras palabras, no entiendo como eso disparará el if solo cuando cierto patron de bits estén al comienzo del byte)
|
|
|
En línea
|
Vista mi blog es enriquemesa.blogspot.com
|
|
|
engel lex
|
sorry! me equivoqué es así... usando una mascara... la mascara son los bits que quieres "aislar" ej int mascara = 3968;//1111 1000 0000 aislar los primeros 5 bits int patron = 2560;//1010 0-000 0000 contiene el patron y relleno int numeroBueno = 2658;//1010 0110 0010 int numeroMalo = 3744;//1110 1010 0000 if((mascara & numeroBueno) == patron){ cout << "bueno 1 \n"; }else{ cout << "malo 1 \n"; } if((mascara & numeroMalo) != patron){ cout << "bueno 2 \n"; }else{ cout << "malo 2 \n"; }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
harry_the_blogger
Desconectado
Mensajes: 105
Visita mi blog es enriquemesa.blogspot.com
|
Gracias por tu ayuda. Lo probaré luego y te comentaré los resultados. Supongo que si tengo algún problema puedo volver al foro, ¿o no.? Ah, una duda, en la parte que dice if((mascara & numeroMalo) != patron){ cout << "bueno 2 \n"; }else{ cout << "malo 2 \n"; }
No debería decir: if((mascara & numeroMalo) == patron){ cout << "bueno 2 \n"; }else{ cout << "malo 2 \n"; }
Creo que se te escapó un error. XD. O si no, explicame por favor porque el ultimo if-else no sigue la logica del primero. Gracias por tu ayuda.
|
|
« Última modificación: 2 Octubre 2014, 04:31 am por harry_the_blogger »
|
En línea
|
Vista mi blog es enriquemesa.blogspot.com
|
|
|
engel lex
|
si el problema es sobre esto continua el tema, en lo que puedas lo pruebas y me avisas de tus resultados
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como saber si me están espiando
Seguridad
|
Esperanza33
|
1
|
6,497
|
12 Agosto 2010, 00:51 am
por pape
|
|
|
como saber que quientes estan asociados
Wireless en Linux
|
ricardosauls
|
2
|
2,341
|
22 Febrero 2011, 20:33 pm
por ChimoC
|
|
|
Como saber si me estan hackeando
Seguridad
|
sacus
|
2
|
12,555
|
29 Marzo 2011, 00:22 am
por Vjuan_
|
|
|
Como saber que APIs estan hookeadas?
Programación C/C++
|
t4r0x
|
8
|
4,465
|
7 Febrero 2012, 06:51 am
por wachi
|
|
|
¿Cómo saber si un programa es de 32 o 64 bits?
Software
|
1mpuls0
|
6
|
1,660
|
5 Abril 2014, 00:16 am
por Eleкtro
|
|