Bonsoir,
Si on prend deux nombres binaires a et b, comment faire une fonction qui teste si b est inclus dans a ? avec une complexité O(1).
Merci d'avance.
 Nombre binaire inclus dans un autre
 Nombre binaire inclus dans un autre
				
				
						
						
				Bonsoir,
Si on prend deux nombres binaires a et b, comment faire une fonction qui teste si b est inclus dans a ? avec une complexité O(1).
Merci d'avance.
 
 
				
				
						
						
				Pouvez-vous m'indiquer l'endroit où trouver mon bonheur ?
 
 
				
				
						
						
				un nombre binaire je tiens à préciser c'est une représentation
tu peux passer par une représentation sous forme de chaîne de caractères.
Ensuite pour comparer deux binaires il suffit de faire un simple masque AND.
Par exemple
c'est un exemple de code à titre de suggestion il n'est peut-être pas bon mais il donne une certaine logique...
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
voir aussi la possibilité avec des champs de bits...
 
 
				
				
						
						
				Qu'est-ce que tu entends exactement par "inclus dans" ?
 
 
				
				
						
						
				Par exemple, a=0101 est inclus dans b=0111. Car les deux 1 présents dans a sont présents dans b. Cela est possible en vérifiant si a & b == a.
De même j'aimerai vérifier en temps constant si un nombre binaire ne possède qu'un seul 1. Y a t-il une méthode ? En utilisant des opérateurs binaires de préférence.
Par exemple la fonction me renvoi vrai pour 0100 et faux pour 1010.
 
 
				
				
						
						
				Tout ce qu'il faut savoir sur le comptage de bits :
http://en.wikipedia.org/wiki/Hamming_weight
 
 
				
				
						
						
				De même j'aimerai vérifier en temps constant si un nombre binaire ne possède qu'un seul 1. Y a t-il une méthode ? En utilisant des opérateurs binaires de préférence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
Partager