Forum Programmation.python opérations sur les bits << et >>

Posté par  .
Étiquettes : aucune
0
3
sept.
2007
Salut à tous, je vodrai implementer en python des fonctions qui permettentent le décalage à gauche et à droite de bits comme le font les opérateurs >> et << en c/c++, existe t-il un equivalent ou allors faudrait-il implementer de zero ?

Merci d'avance
  • # Comme en C

    Posté par  . Évalué à 6.

    Salut, la syntaxe est exactement la même qu'en C
    $ python
    Python 2.1 (#1, Sep 29 2006, 20:44:41) [C] on aix5
    Type "copyright", "credits" or "license" for more information.
    >>> print 1<<3
    8
    >>> print 8<<1
    16
    >>> print 8>>3
    1
    >>>
    
    • [^] # Re: Comme en C

      Posté par  . Évalué à 1.

      Merci bien! je n'avais pas la certitude qu'il s'agissait des memes opérateurs.
      @+
      • [^] # Re: Comme en C

        Posté par  . Évalué à 2.

        Merci bien! je n'avais pas la certitude qu'il s'agissait des memes opérateurs.


        C'est curieux quand même. C'est toujours une très bonne chose de demander mais, en l'occurence, le plus simple, c'était encore d'essayer, n'est-ce-pas ?
    • [^] # Re: Comme en C

      Posté par  . Évalué à 2.

      la syntaxe est similaire, mais pas toujours l'effet :
      en C sur archi 32 bits 1<<31 vaut -2147483648
      en python : 1<<31 = 2147483648L
      et aussi 1<<128 = 340282366920938463463374607431768211456L en python, ce qui est tout de même beaucoup plus sympathique qu'en C : 1<<128=0 :)
      Je crois que depuis un moment en python, les entiers ne peuvent pas déborder : ils sont étendus au besoin. C'est pratique, mais tout dépend de ce qu'on veut faire : des maths ou de l'informatique...
      • [^] # Re: Comme en C

        Posté par  . Évalué à 1.

        Oui, jen m'en suis rendu compte lorsque j'ai eu l'erreur:
        "long too gig to convert to int"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.