Conversion et comparaison d'entier relatifs en binaire

Description

Slt! J'ai écri une fonction qui permet de convertir à la fois deux entiers relatifs en binaire sur k bits et de les comparer sur n premiers bits n pouvant être égale à k. J'espère que cela apporte un plus!

Source / Exemple :


# -*- coding: cp1254 -*-
def covcompbin(a,b,n,k):
    # a et b sont des entiers relatifs,n est le nombre de bits sur lequel
    #l'on veut faire la comparaison, k est le nombre de bit max sur lequel on fait la conversion
    #dans le cas ou n=k, on a en plus de la comparaison entre a et b, la conversion de a et b
    # en binaire
    a0=a
    b0=b
    c0="oui"
    d0="non"
    i=1
    ntab1=[]
    ntab2=[]
    #i est un compteur
    j=0
    #j est un compteur
    l=0
    #l est un compteur
    if ((a>=0 or a<=0)& (b>=0 or b<=0) ):
        tab1=[a%2]   #tab est une liste ayant pour premier élément que l'on va remplir
        tab2=[b%2]
        while i<k:
            a=a/2
            b=b/2
            r1=a%2
            r2=b%2
            tab1.append(r1)# remplissage de la liste tab1 avec le reste des divisions
            tab2.append(r2)# remplissage de la liste tab2 avec le reste des divisions
            i=i+1
        while l<n:
            t1=tab1[k-l-1] # inversion des n premier(s) éléments de tab1
            t2=tab2[k-l-1]  #inversion des n premier(s)éléments de tab2
            ntab1.append(t1) # création d'une première liste pour comparaison
            ntab2.append(t2) # création d'une seconde liste pour comparaison
            l=l+1
        if ntab1==ntab2:
            print" les",n,"premiers bits de",a0,"et",b0,"sont égaux"
            print 'voulez-vous le vérifier( entrer oui ou non)?:',
            rep=raw_input()
            if rep==c0:
                print ntab1,
                print ntab2
            if rep==d0:
                print " Merci, vous pouvez recommencer une nouvelle comparaison"
        if ntab1!=ntab2:
            print " les",n,"premiers bits de",a0,"et",b0," ne sont pas égaux"
            print 'voulez-vous le vérifier( entrer oui ou non)?:',
            rep=raw_input()
            if rep==c0:
                print ntab1,
                print ntab2
            if rep==d0:
                print " Merci, vous pouvez recommencer une nouvelle comparaison"

Conclusion :


mon idée de base était d'utiliser ce programme dans un dispositif qui me permettrait de convertir une fréquence donnée en binaire et ensuite de le comparer à une fréquence déjà définie de sorte qu'en cas de non coïncidence, une alarme se déclenche.j'accepte vos commentaires et vos remarques.

Codes Sources

A voir également

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.