C# opérations binaires [Résolu]

cs_lucan 2 Messages postés jeudi 21 juillet 2005Date d'inscription 16 novembre 2008 Dernière intervention - 13 nov. 2008 à 13:14 - Dernière réponse : cs_lucan 2 Messages postés jeudi 21 juillet 2005Date d'inscription 16 novembre 2008 Dernière intervention
- 16 nov. 2008 à 00:30
Bonjour,

Je cherche un algo ou une piste pour comparer deux chaines de 53 caractères composée de 0 ou 1. Il s'agit en fait de comparer les 52 ou 53 semaines d'une année dans les deux chaines. J'aurai aimé pouvoir faire une fonction qui me retournerai un bool. ex :
x = 000110001
y = 011001100
si x + y sans retenue retourne vrai sinon faux
Dans ce cas ça retournerai vrai (et faux si on change le dernier bit de x par 1).

Z'avez une idée ? désolé j'ai jamais manipulé les bits,'s ;-)

Merci d'avance !
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
rlachant 1 Messages postés lundi 20 octobre 2008Date d'inscription 15 novembre 2008 Dernière intervention - 15 nov. 2008 à 19:33
3
Merci
Bonjour,
Si j'ai bien compris ce que tu recherches.
il te faut convertir tes chaines de caractères en long  (pour gerer tes 52 bits),
puis un ET binaire te donnera 0 si aucune paire 1-1 n'est présente.
ex:

string x="000110001";

string y="011001100";
//sera vrai si aucune concordance 1-1 n'est trouvée

bool result=(Convert.ToInt64(x,2) & Convert.ToInt64(y,2))==0;Console.WriteLine(result);

En esperant t'avoir aidé.

Merci rlachant 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de rlachant
MasterShadows 269 Messages postés lundi 1 mars 2004Date d'inscription 19 avril 2012 Dernière intervention - 13 nov. 2008 à 13:35
0
Merci
Salut,
Essaie çà : x & y , ça va te retourner le résultat suivant : 011111101

Maintenant savoir si tu veux renvoyer vrai ou faux, je ne vois pas très bien (c'est plus facile sur une feuille de papier de détecter un débordement, là j'avoue que je ne le fais jamais en code, mais je te conseille de regarder au niveau des opérateurs unaires)

En espérant t'avoir aidé,
@+
Commenter la réponse de MasterShadows
cs_lucan 2 Messages postés jeudi 21 juillet 2005Date d'inscription 16 novembre 2008 Dernière intervention - 16 nov. 2008 à 00:30
0
Merci
Bonjour,

Super génial ! c'est exactement ce que je cherchais...

Merci beaucoup.

Merci aussi à MasterShadows.
Commenter la réponse de cs_lucan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.