Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3466

Re: Usage de ~ qui, ce me semble, veut dire not.

From Olivier Miakinen <om+news@miakinen.net>
Newsgroups fr.comp.lang.python
Subject Re: Usage de ~ qui, ce me semble, veut dire not.
Date 2021-04-11 16:11 +0200
Organization There's no cabale
Message-ID <s4v03a$3i1$1@cabale.usenet-fr.net> (permalink)
References <s4udl2$191p$1@gioia.aioe.org> <s4ufvh$8vt$1@gioia.aioe.org> <87v98t85de.fsf@universite-de-strasbourg.fr.invalid> <s4unvh$27b$1@cabale.usenet-fr.net> <87r1jh7x9o.fsf@universite-de-strasbourg.fr.invalid>

Show all headers | View raw


Le 11/04/2021 15:42, Alain Ketterlin a écrit :
> 
> Ton explication est correcte : en Python tous les entiers sont signés,
> et tous les décalages "à droite" s'effectuent avec "extension de signe"
> (le bit le plus à droite est répliqué). Dans -1 tous les bits sont à 1,
> et donc le restent lors du décalage.

C'est assez classique pour à peu près tous les langages dans lesquels les
entiers signés sont représentés en « complément à 2 » et en taille fixe.
Mais je vois dans la suite de ta réponse que dans Python les entiers ne
sont pas contraints à une taille fixe.

> (Juste un truc, pour être sûr : le "bit de signe" est une expression
> correcte -- le bit de poids fort, le plus à gauche, est effectivement 1
> pour les entiers négatifs -- mais il vaut mieux éviter les confusions
> avec la représentation "signed-magnitude", celle qui a deux
> représentations de zéro.)

Oui, en effet. Cette repérsentation étant par exemple IEEE 754. Est-ce
que les réels en Python sont représentés en IEEE 754 ?

> Et non, il n'y a pas d'entiers non signés en Python, ce qui n'a pas
> vraiment de conséquence pratique, puisque tous les entiers sont de
> précision arbitraire.

Ah oui, en effet :

 >>> 2**1000
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
 >>> 2.**1000
1.0715086071862673e+301
 >>> 2.**10000
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: (34, 'Numerical result out of range')

> [...]
> 
> Rien de tout cela en Python : tout est signé, le décalage est toujours
> arithmétique, il n'y a pas d'overflow, division et modulo sont corrects,
> etc. C'est reposant, tant qu'on ne s'occupe pas de performance ou
> d'occupation mémoire.

Oui. J'avais un à priori négatif au sujet de Python avant de m'y mettre,
mais maintenant au contraire je suis ravi d'avoir franchi le pas, et
« reposant » est vraiment le qualificatif qui convient.

Merci de tes réponses.


-- 
Olivier Miakinen

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Usage de ~ qui, ce me semble, veut dire not. Dominique <zzz@aol.com.invalid> - 2021-04-11 10:57 +0200
  Re: Usage de ~ qui, ce me semble, veut dire not. Dominique <zzz@aol.com.invalid> - 2021-04-11 11:36 +0200
    Re: Usage de ~ qui, ce me semble, veut dire not. Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-11 11:51 +0200
    Re: Usage de ~ qui, ce me semble, veut dire not. Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-11 12:47 +0200
      Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 13:53 +0200
        Re: Usage de ~ qui, ce me semble, veut dire not. Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-11 14:03 +0200
          Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 14:39 +0200
            Re: Usage de ~ qui, ce me semble, veut dire not. Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-11 14:57 +0200
              Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 15:20 +0200
          Re: Usage de ~ qui, ce me semble, veut dire not. Dominique <zzz@aol.com.invalid> - 2021-04-11 17:34 +0200
            Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 17:59 +0200
        Re: Usage de ~ qui, ce me semble, veut dire not. Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-11 15:42 +0200
          Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 16:11 +0200
            Re: Usage de ~ qui, ce me semble, veut dire not. Olivier Miakinen <om+news@miakinen.net> - 2021-04-11 16:31 +0200
            Re: Usage de ~ qui, ce me semble, veut dire not. Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-11 19:43 +0200
          Re: Usage de ~ qui, ce me semble, veut dire not. Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-11 19:43 +0200
            Re: Usage de ~ qui, ce me semble, veut dire not. Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-04-11 23:04 +0200
  Re: Usage de ~ qui, ce me semble, veut dire not. Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2021-04-11 11:47 +0200
    Re: Usage de ~ qui, ce me semble, veut dire not. Dominique <zzz@aol.com.invalid> - 2021-04-11 17:35 +0200

csiph-web