Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qu'est ce que le type unsigned ?

Sujet résolu
    4 novembre 2006 à 18:07:58

    Voilà bonjour à tous,
    J'ai lu récemment un bout de code et j'ai remarqué que l'utilisateur marquait unsigned int ... , ou bien unsigned char .... .
    Qu'est ce que cela signifie ?
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      4 novembre 2006 à 18:09:54

      que le contenu de la variable ne peut pas etre negative.
      • Partager sur Facebook
      • Partager sur Twitter
        4 novembre 2006 à 18:12:39

        Toute variable est soit signed soit unsigned, c'est à dire signée ou non signée.
        Une variable signée pourra contenir des nombres négatifs, alors qu'une variable non signée ne le pourra pas. Par contre, elles conservent le même nombre de valeurs qu'elles peuvent définir.
        Par exemple, si hyu est un type de variable tel que signed hyu puisse contenir -3, -2, -1, 0, 1, 2, 3, alors unsigned hyu pourra contenir 0,1,2,3,4,5,6,7.
        C'est tout bête mais faut le savoir.

        j'espère que tu as compris car en me relisant l'explication me parait très floue...

        Citation : K&R


        On peut appliquer le qualificatif signed ou unsigned (signé ou non signé) au type char et à tous les types entiers. Les nombres unsigned sont toujours positifs ou nuls, et ils suivent les lois de l'arithmétique modulo 2^n, où n est le nombre de bits du type concerné. Ainsi, par exemple, si les chars sont représentés sur 8 bits, les variables de type unsigned char peuvent prendre les valeurs de 0 à 255, tandis que les signed char vont de -128 à 127 (sur une machine fonctionnant en complément à deux). Le fait que les variables de type char tout court soient signées ou non dépend de la machine utilisée, mais les caractères imprimables sont toujours positifs.

        • Partager sur Facebook
        • Partager sur Twitter
          4 novembre 2006 à 18:19:13

          Merci beaucoup vos explications m'ont beaucoup aidé :D
          • Partager sur Facebook
          • Partager sur Twitter
            4 novembre 2006 à 18:19:42

            Citation : <!--nico-->

            Toute variable entière est soit signed soit unsigned, c'est à dire signée ou non signée.
            Une variable signée pourra contenir des nombres négatifs, alors qu'une variable non signée ne le pourra pas. Par contre, elles conservent le même nombre de valeurs qu'elles peuvent définir.
            Par exemple, si hyu est un type de variable tel que signed hyu puisse contenir -3, -2, -1, 0, 1, 2, 3, alors unsigned hyu pourra contenir 0,1,2,3,4,5,6,7.


            Un type avec signe ne pourra pas en valeur absolue dépasser son équivalent sans signe. (n1124 § 6.2.6.2.2) C'est la seule restriction.
            • Partager sur Facebook
            • Partager sur Twitter
              4 novembre 2006 à 18:40:47

              Citation : rz0

              Citation : <!--nico-->

              Toute variable entière est soit signed soit unsigned, c'est à dire signée ou non signée.
              Une variable signée pourra contenir des nombres négatifs, alors qu'une variable non signée ne le pourra pas. Par contre, elles conservent le même nombre de valeurs qu'elles peuvent définir.
              Par exemple, si hyu est un type de variable tel que signed hyu puisse contenir -3, -2, -1, 0, 1, 2, 3, alors unsigned hyu pourra contenir 0,1,2,3,4,5,6,7.


              Un type avec signe ne pourra pas en valeur absolue dépasser son équivalent sans signe. (n1124 § 6.2.6.2.2) C'est la seule restriction.


              OK, bah, je prends note. Ca m'apprendra a essayer de ramener ma science tiens... :( Mais la citation elle est correcte ^^
              • Partager sur Facebook
              • Partager sur Twitter
                4 novembre 2006 à 18:49:41

                En pratique tu as raison, ceci dit, comme dirait quelqu'un de c.l.c, cela fait des dizaines d'années que l'on ne fait plus que des machines à complément à deux, sans padding, mais la machine de demain pourrait bien être différente. :)
                • Partager sur Facebook
                • Partager sur Twitter
                  4 novembre 2006 à 18:52:47

                  Citation : <!--nico-->


                  Citation : K&R


                  On peut appliquer le qualificatif signed ou unsigned (signé ou non signé) au type char et à tous les types entiers. Les nombres unsigned sont toujours positifs ou nuls, et ils suivent les lois de l'arithmétique modulo 2^n, où n est le nombre de bits du type concerné. Ainsi, par exemple, si les chars sont représentés sur 8 bits, les variables de type unsigned char peuvent prendre les valeurs de 0 à 255, tandis que les signed char vont de -128 à 127 (sur une machine fonctionnant en complément à deux). Le fait que les variables de type char tout court soient signées ou non dépend de la machine utilisée, mais les caractères imprimables sont toujours positifs.


                  Yo ! Tu as un scanner avec OCR, un PDF du K&R2 (illégal) ou une secrétaire attitrée ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Music only !
                    4 novembre 2006 à 18:56:51

                    Bôf, non, juste un K&R à portée de main, une bonne vitesse de frappe (en toute modestie) et rien d'autre à faire en ces fin de vacances...
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Qu'est ce que le type unsigned ?

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown