OVH Cloud OVH Cloud

Pourquoi oui égale-t-il moins un?

12 réponses
Avatar
Telesphore
Pourquoi OUI égale-t-il -1?

Merci

10 réponses

1 2
Avatar
Patrick ERIAU
Salut,

Chercher cours de physique sur les supraconducteurs.
Algèbre de Boole, les symboles de base2 (binaire) et les
applications dans toutes les déclinaisons du
domaine "électricité".

-----Message d'origine-----
Pourquoi OUI égale-t-il -1?

Merci


.



Avatar
Charles ERNST
Ca s'appelle une "convention"

"Telesphore" a écrit dans le message de
news:eFWmp%
Pourquoi OUI égale-t-il -1?

Merci




Avatar
Yann
Salut,
Par définition, Faux ou Non est un élément d'absence ou
null, donc 0. Mais en logique binaire, il reste 1, qui
correspondrai donc à Vrai ou Oui. Seulement, c'est
oublier que les nombres sont signés (+/-) et que l'idée
initiale était que pour un élément de n bits, les n-1
premier bit correspondent au chiffre, et le nième
correspond au signe... Donc, comme on a 1 bit pour 1
booléen (Oui/Non), ça suit la même règle. Ainsi Non = 0
et Oui=-1.

Seulement l'histoire ne s'arrête pas là car si on prend -
1 en numérique (sur 8 bits par exemple), on aura 11111111
alors que l'explication devrai nous donner 10000001.
En fait l'explication n'est pas tout à fait exacte car il
faut résonner à l'envers, c'est-à-dire par que faut-il
ajouter pour obtenir 0 (00000000). Dans le cas du -1
(11111111) il faut ajouter 1 (00000001), ce qui fait SUR
8 BITS 11111111+00000001000000.
La logique est ainsi inversée.

Donc si on souhaite connaitre -5, on fait
1xxxxxxx+00000100000000 donc 1xxxxxxx111011.
Autrement dit on fait un opposé (complément) du
positif... Définition du négatif... et facile à réaliser
avec des portes NO. Chaque bit entre dans une porte NO et
on récupère son opposé qui, regroupé, constitue notre
chiffre négatif.

Ainsi, Non=0 et son opposé Oui=1 EN BINAIRE, mais -1 en
numérique...

CQFD

J'espère que cela aura bien éclairé ta question :o)
Bye
Yann

-----Message d'origine-----
Pourquoi OUI égale-t-il -1?

Merci


.



Avatar
3stone
Salut,


du vrai et du faux, a commencer par ceci...


"Yann"
Par définition, Faux ou Non est un élément d'absence ou
null, donc 0.


NULL ne vaut pas zéro

comme tu le dit toi-même, NULL est une absence d'information
et (à priori) on n'en connait donc pas la valeur...
(même on le considère souvent comme ...équivanlent à zéro)

Et c'est bien pour cela qu'il faut tester cette NULLité

If IsNull(toto) qui n'est pas équivanlent à If toto = 0



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Yann
Salut Pierre,
Tu as raison de me reprendre sur le Null, mais lorsque je
l'écrivais, je le pensait dans le sens humain, c'est à
dire que Null=Rien=Vide=0. Mais d'un point de vue
informatique, tout ceci est effectivement différent,
aussi acceptes-tu mes excuses les plus profondes ;o)

@+
Yann

-----Message d'origine-----
Salut,


du vrai et du faux, a commencer par ceci...


"Yann"
Par définition, Faux ou Non est un élément d'absence ou
null, donc 0.


NULL ne vaut pas zéro

comme tu le dit toi-même, NULL est une absence
d'information

et (à priori) on n'en connait donc pas la valeur...
(même on le considère souvent comme ...équivanlent à
zéro)


Et c'est bien pour cela qu'il faut tester cette
NULLité


If IsNull(toto) qui n'est pas équivanlent à
If toto = 0




--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------






.



Avatar
3stone
Salut,

"Yann"
... je le pensait dans le sens humain, c'est à
dire que Null=Rien=Vide=0.




Juste pour éviter de voir des contructions genre:

if toto = Null Then

étant donné qu'il n'y a pas d'égalité avec qque chose d'inexistant.




NPB

--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Jc
Bonjour(soir),

"3stone" a écrit dans le message news:
ubP$8$
Salut,
Juste pour éviter de voir des contructions genre:

if toto = Null Then

étant donné qu'il n'y a pas d'égalité avec qque chose d'inexistant.


A ce propos, comment rendre null un contrôle ?

Me!MonControleIndependant = null donne une erreur

Merci et
--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------

Avatar
3stone
Salut,

"Jc"

A ce propos, comment rendre null un contrôle ?

Me!MonControleIndependant = null donne une erreur




Ne pas confondre "tester le NULL" qui se fait par

If IsNull(qquechose) Then

et "supprimer toute valeur existante" qui se fait par

qquechose = NULL

et non équivalent à qquechose = "" ou on attribue une chaîne vide
( ce qui est *quelque chose* contrairement au NULL)


Et une zone de texte (indépendante ou non) est toujours
capable de recevoir un variant, et donc une "valeur" NULL

Par contre, le champ ou la variable qui recueille ce NULL
n'est pas toujours capable ou autorisé à le faire...

Donc, ton Me!MonControleIndépendant ne donne pas d'erreur
mais sûrement le traitement qui suit...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Yann
Ouhaip, bien vu l'ami...

@+
Yann

-----Message d'origine-----
Salut,

"Yann"
.... je le pensait dans le sens humain, c'est à
dire que Null=Rien=Vide=0.




Juste pour éviter de voir des contructions genre:

if toto = Null Then

étant donné qu'il n'y a pas d'égalité avec qque chose
d'inexistant.





NPB

--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------







.



Avatar
Jc
Bonjour(soir) 3stone,


"3stone" a écrit dans le message news:

Salut,

"Jc"

A ce propos, comment rendre null un contrôle ?

Me!MonControleIndependant = null donne une erreur




Ne pas confondre "tester le NULL" qui se fait par

If IsNull(qquechose) Then

et "supprimer toute valeur existante" qui se fait par

qquechose = NULL

et non équivalent à qquechose = "" ou on attribue une chaîne
vide

( ce qui est *quelque chose* contrairement au NULL)


Et une zone de texte (indépendante ou non) est toujours
capable de recevoir un variant, et donc une "valeur" NULL

Par contre, le champ ou la variable qui recueille ce NULL
n'est pas toujours capable ou autorisé à le faire...

Donc, ton Me!MonControleIndépendant ne donne pas d'erreur
mais sûrement le traitement qui suit...


merci, je vais regarder de plus près, d'autant que

Me!MonControleIndépendant = "" fonctionne, sinon qu'il faut tester
if Me!MonControleIndépendant = "" then

et non
if isNull(Me!MonControleIndépendant) then

ce qui complique quelque fois (il faut tester les 2).

--
Bonne fin de journée.
----------------------------------------
Jclg88
Cliquer sur ce lien pour me joindre par mél :
http://cerbermail.com/?JVKAlLV1Rf
----------------------------------------


1 2