OVH Cloud OVH Cloud

Comparaison binaire

6 réponses
Avatar
Daniel
Salut je veux comparer 2 nombres en mode binaire
Je veux vérifier le premier bit de chaque nombre

Voici les 2 cas où ca fonctionne
if nombre1 and 1 then si nombre a le premier bit à 1 , la réponse va
etre 1
if nombre1 and 0 then si le nombre à le premier bit à 1, la réponse va etre
0

mais ca marche pas pour la derniere affirmation
if nombre1 and 0 then si le nombre à le premier bit à 0, la réponse va etre
0 mais je veux que ca donne 1


Bref je veux trouver la bonne méthode pour comparer 0 et 0 pour que ca
donne 1

1 and 1 =1
0 and 1= 0
1 and 0 = 0
0 and 0 = 0 mais je cherche le bon opérateur pour que ca donne 1


Merci

6 réponses

Avatar
LE TROLL
Bonjour,

Je n'ai pas tout compris, si tu extrais la valeur d'un bit dans une
variable, ça donnerait:

dim bit as string
dim reponse as byte
bit = bite_1_à_comparer & bite_2_à_comparer
select case bit
case "00": reponse = 0
case "01": reponse =0
case "10": reponse =0
case "11": reponse =1
end select
msgbox reponse
'
Y a peut être d'autres méthode ???

--
Site de MES LOGICIELS
http://irolog.free.fr
Site éditeur de MES ROMANS édités
http://irolog.free.fr/romans
mon adresse EMail
http://irolog.free.fr/ecrire/index.htm
------------------------------------------------------------------------------------
"Daniel" a écrit dans le message de news:
e$
Salut je veux comparer 2 nombres en mode binaire
Je veux vérifier le premier bit de chaque nombre

Voici les 2 cas où ca fonctionne
if nombre1 and 1 then si nombre a le premier bit à 1 , la réponse va
etre 1
if nombre1 and 0 then si le nombre à le premier bit à 1, la réponse va
etre
0

mais ca marche pas pour la derniere affirmation
if nombre1 and 0 then si le nombre à le premier bit à 0, la réponse va
etre
0 mais je veux que ca donne 1


Bref je veux trouver la bonne méthode pour comparer 0 et 0 pour que ca
donne 1

1 and 1 =1
0 and 1= 0
1 and 0 = 0
0 and 0 = 0 mais je cherche le bon opérateur pour que ca donne 1


Merci




Avatar
Vincent Guichard
Daniel a écrit :
1 and 1 =1
0 and 1= 0
1 and 0 = 0
0 and 0 = 0 mais je cherche le bon opérateur pour que ca donne 1


Merci



Donc tu veux un opérateur binaire ayant pour table de vérité
A B R
0 0 -> 1
0 1 -> 0
1 0 -> 0
1 1 -> 1

Cet opérateur binaire n'existe pas. Les opérateurs binaires de base sont
le ET, le OU, le OU-EXCLUSIF et le NON. (en fait, le OU-EX n'est pas un
opérateur de base, mais bon). Ces 4 opréateurs sont les seuls fournis
par VB.

Table du ET: (And en Basic)
A B R
0 0 -> 0
0 1 -> 0
1 0 -> 0
1 1 -> 1

Table du OU: (Or en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 1

Table du OU-EX: (Xor en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 0

Table du NON: (Not en Basic)
A R
0 -> 1
1 -> 0

A l'aide d'un peu de logique de Boole (cf
http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique) )
tu détermine vite que l'opérateur que tu cherches est en fait
NOT(OU-EX(A,B)) soit en basic R = Not( A Xor B)

Vincent Guichard
Avatar
Driss HANIB
c'est donc NON OU-EX

Driss

"Vincent Guichard" a écrit dans le message de
news:45881e82$0$27376$
Daniel a écrit :
> 1 and 1 =1
> 0 and 1= 0
> 1 and 0 = 0
> 0 and 0 = 0 mais je cherche le bon opérateur pour que ca donne 1
>
>
> Merci

Donc tu veux un opérateur binaire ayant pour table de vérité
A B R
0 0 -> 1
0 1 -> 0
1 0 -> 0
1 1 -> 1

Cet opérateur binaire n'existe pas. Les opérateurs binaires de base sont
le ET, le OU, le OU-EXCLUSIF et le NON. (en fait, le OU-EX n'est pas un
opérateur de base, mais bon). Ces 4 opréateurs sont les seuls fournis
par VB.

Table du ET: (And en Basic)
A B R
0 0 -> 0
0 1 -> 0
1 0 -> 0
1 1 -> 1

Table du OU: (Or en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 1

Table du OU-EX: (Xor en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 0

Table du NON: (Not en Basic)
A R
0 -> 1
1 -> 0

A l'aide d'un peu de logique de Boole (cf
http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique) )
tu détermine vite que l'opérateur que tu cherches est en fait
NOT(OU-EX(A,B)) soit en basic R = Not( A Xor B)

Vincent Guichard


Avatar
Vincent Guichard
>> [...]




>> A l'aide d'un peu de logique de Boole (cf
>> http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique) )
>> tu détermine vite que l'opérateur que tu cherches est en fait
>> NOT(OU-EX(A,B)) soit en basic R = Not( A Xor B)
>>
>> Vincent Guichard

c'est donc NON OU-EX

Driss




C'est bien ce que j'ai dis ^^

Vincent Guichard
Avatar
Daniel
Je crois avoir trouvé mais j'avais oublié de poster ma réponse
if (nombre1 and 1)=0 alors le premier bit est zéro tout simplement




"Vincent Guichard" a écrit dans le message de
news: 45881e82$0$27376$
Daniel a écrit :
1 and 1 =1
0 and 1= 0
1 and 0 = 0
0 and 0 = 0 mais je cherche le bon opérateur pour que ca donne 1


Merci



Donc tu veux un opérateur binaire ayant pour table de vérité
A B R
0 0 -> 1
0 1 -> 0
1 0 -> 0
1 1 -> 1

Cet opérateur binaire n'existe pas. Les opérateurs binaires de base sont
le ET, le OU, le OU-EXCLUSIF et le NON. (en fait, le OU-EX n'est pas un
opérateur de base, mais bon). Ces 4 opréateurs sont les seuls fournis par
VB.

Table du ET: (And en Basic)
A B R
0 0 -> 0
0 1 -> 0
1 0 -> 0
1 1 -> 1

Table du OU: (Or en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 1

Table du OU-EX: (Xor en Basic)
A B R
0 0 -> 0
1 0 -> 1
0 1 -> 1
1 1 -> 0

Table du NON: (Not en Basic)
A R
0 -> 1
1 -> 0

A l'aide d'un peu de logique de Boole (cf
http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique) )
tu détermine vite que l'opérateur que tu cherches est en fait
NOT(OU-EX(A,B)) soit en basic R = Not( A Xor B)

Vincent Guichard


Avatar
Driss HANIB
Ah OK j'avais pas tout lu ;o((
Comme quoi vitesse vaut mieux que précipitation. Cà évite de déraper..

Driss

"Vincent Guichard" a écrit dans le message de
news:458820f6$0$5089$
>> [...]
>> A l'aide d'un peu de logique de Boole (cf
>> http://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique) )
>> tu détermine vite que l'opérateur que tu cherches est en fait
>> NOT(OU-EX(A,B)) soit en basic R = Not( A Xor B)
>>
>> Vincent Guichard

> c'est donc NON OU-EX
>
> Driss
>

C'est bien ce que j'ai dis ^^

Vincent Guichard