begin process at 2012 02 13 23:23:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Maths

 > 

calcul du bit de parité (pair ou impair)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

calcul du bit de parité (pair ou impair)

mardi 7 septembre 2004 à 17:53:49 | calcul du bit de parité (pair ou impair)

senga34

Bonjour !
Etant débutant dans VB, qui peut m'indiquer
comment faire pour générer le bit de parité pair ou impair , sachant que je sais convertir un nombre décimal en binaire

Je ne trouve pas les fonctions de décalages comme en "asm pic"
J'ai vu la fonction Xor qui est presente

Sur le site microsoft msdn , on trouve la fonction <<= ou >>=
mais ne fonctionne pas chez moi ( erreur de compilation ???)
Si on pouvait me faire un résumé la dessus !

Merci
@+
mardi 7 septembre 2004 à 18:04:20 | Re : calcul du bit de parité (pair ou impair)

AnteManoclis

Salut !

Peut-être pourrais-tu essayer de passer par des masques, etde remplacer la fonciton de décalage par une division par 2...

A+
AnteManoclis
mardi 7 septembre 2004 à 18:15:48 | Re : calcul du bit de parité (pair ou impair)

EBArtSoft

Membre Club Administrateur CodeS-SourceS
Voici un exemple :

If (x And 1) = 1 then =>>Pair
If (x and 1) = 0 then =>>Impair

x or 1 =>> devient impair
x and not 1 =>> devient pair

@+

E.B.
mardi 7 septembre 2004 à 18:41:12 | Re : calcul du bit de parité (pair ou impair)

kelly

Un bit de parité ca peut aussi etre la parité du nombre de bits allumés (généralement ca fait peur mais ca se comprend), auquel cas il ne suffit plus de regarder l'état du bit de poids le plus faible, mais ca devient un peu plus fun a faire en vb...
(et pour les amateurs, ca fait de très jolies fractales)
mercredi 8 septembre 2004 à 02:10:55 | Re : calcul du bit de parité (pair ou impair)

Gobillot

Private Function Parite(n As Byte) As Boolean
Dim x As Integer
Dim R As Integer
x = 128
Do
If n And x Then R = R + 1
x = x \ 2
Loop Until x = 0
Parite = R Mod 2
End Function

mercredi 8 septembre 2004 à 18:23:38 | Re : calcul du bit de parité (pair ou impair)

senga34

Salut à tous !
Merci à tous ceux qui m'ont répondu .
J'examine tout cela et vous tiens au courant

A noter tout de meme qu'un bit de parité se calcule de la
façon suivante
exemple : si nb binaire = 1001 1000

POur générer un bit de parité paire , il faut compter le nb
de bits à 1
si le nb de bits à 1 ( ici = 10011000 donc = à 3)est pair alors le bit de parité = 0
sinon bit de parité = 1
Dans l'exemple mon bit de parité calculé sera donc à 1

J'avais déjà essayé avec les masques et la division /2
mais sans résultat ( on ne peux diviser un nb binaire /2
sauf erreur de ma part)

J'essaye ce que vous me conseillez de faire
et vous tiens au courant

@
mercredi 8 septembre 2004 à 18:39:17 | Re : calcul du bit de parité (pair ou impair)

Gobillot

Cest ce que fait ma fonction.

IF Parite (Nombreatester) then
Msgbox "nombre de bits à 1 est impair"
else
Msgbox "nombre de bits à 1 est pair"
end if

Daniel
mercredi 8 septembre 2004 à 18:59:48 | Re : calcul du bit de parité (pair ou impair)

kelly

et c'est ce que dit mon post :)
mercredi 8 septembre 2004 à 19:12:50 | Re : calcul du bit de parité (pair ou impair)

kelly

A noter que si tu fais un programme qui dois calculer intensivement des bits de partié, eh bien la fonction de Gobillot est très lente (meme si il n'est pas vraiment possible faire mieux en vb).
Cela dit, elle est parfaite pour remplir un tableau précalculé contenant le bit de parité de tous les octets possibles :

dim ByteParities(0..255) as byte

private sub InitParityTable()
dim i as byte
for i=0 to 255
ByteParities(i)=Parite(i)
next i
end sub


Cela permet de t'éviter de calculer les bits de parité à la volée à l'exéctuion de ton programme.

Il est de plus très facile d'écrire une fonction qui permet de calculer le bit de parité d'une valeur sur 16 ou 32 bits (ou autres) en utilisant toujours la petite table ByteParities(0..255).

A+
mercredi 8 septembre 2004 à 20:07:49 | Re : calcul du bit de parité (pair ou impair)

senga34

Re Salut !
Nullement mon intention était de froissé quelqu'un !.......
Je voulais simplement faire un p'tit rappel sur la fonction
et comme je ne connais pas encore toutes les fonctions
dispo en VB pour "traiter" les bits , j'avais des doutes perso
sur la comprehension de vos routines

Je rappelle que je débute en VB meme si je prgm en asm PIC
ben !ya le langage vb à apprendre

Bon j'essaye cela et vous tiens au courant !

Tiens une autre question pendant que j'y suis
Comment faire pour forcer un affichage d'un mot binaire
de la façon suivante

Actuellement si mon mot binaire est : 0001 1001
j'affiche uniquement 1 1001
Les bits de gauche à "0" ne sont pas affichés
Si mon mot est 0000 0001 j'affiche seulemnt 1

Je dois impérativement affiché 8 bits que ce soit 1 ou 0
-------------------
Je travaille actuellement sur mon 1er project , simulation du
protocole DCF77 ( horloge atomique)
Je récupére les dates et heures du pc , transforme en binaire
+
rajout du calcul de la parité paire et enfin envoie sur rs232 afin de piloter un module à base de pic 16f876

En reception un 0 comporte un pulse de 100ms tandis qu'un 1
c'est 200ms si je me rappelle bien , ou un truc dans ce gout
Voilà c'est juste pour information

Bonne soirée à tous
@

1 2 3 4 5

Cette discussion est classée dans : calcul, bit, impair, pair, parité


Répondre à ce message

Sujets en rapport avec ce message

Lire et Écrire un fichier bit par bit [ par virtual ] Bonjour à tousQuel qu'un pourait m'expliqué comment je peut arrivé à ceci :lire un fichier bit par bit (0 ou 1), 7 bits à la fois , ajouter un bit de Le Bit de parité ??? [ par ScSami ] Voilà, j'aimerais tout savoir sur ce "machin". Bon, je sais vaguement qu'il sert à tester l'intégrité d'un fichier mais... comment il fonctionne exact [déplacé VB6 -> VBS] pair et impair [ par chawkiste ] Bonjour, Soit le tableau suivant : Numeros = array(1,2,3,4,5,6,7,8,9) Créer deux autres tableaux « Pair » et « Impair » pour accommoder les numéros pa Mscomm (parité) [ par stolken ] Bonsoir à tous, Je realise un prog de lecture de carte à puce (iso 7816). J'utilise mscomm mais j'ai un problème pour le paramétré. Je sais que les ec Configuration AxMSComm [ par gerardt ] Bonjour, je dois dialoguer avec un appareil qui a un protocole établi, 9600Bds, 8 bits, parité pair et un bit stop. Comment dois-je configurer le set Calcul de temps pour effectuer une action [ par enzo68290 ] Bonjour, j'ai un projet en cours pour ma boite en cours de développement, (je suis étudiant), et je dois participer à se projet en réalisant une peti Calcul point d intersection de 2 droite avec 2 points sur chaque droite + calcul angle [ par yo331 ] Bonjour a tous, j ai cherché un peu avant de poster ici mais les reponses trouvéés me restent un peu flou. Mon probleme est le suivant : * Je dispo Probleme Fonction Replace et signe = [ par podzob56 ] Bonjour j'ai un souci quand j'utilise la fonction replace en VBA. Je veux en fait remplacer un terme dans la colonne A du tableau excel. j'ai une sui Ne pas prendre en compte les clics souris ! [ par kmi59 ] Hello Dans mon prog, lors d'un calcul je ne veux pas que l'utilisateur puisse intervenir sur mon UserForm, ainsi je fais : Private Sub Calculer_Click( Temps de calcul [ par Julien39 ] Bonjour à tousJe voudrais connaitre le temps d'execution d'une procédure qui est inférieure à 0.5 secondes et je ne vois pas comment le faireD'avance


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales