Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire un flottant simple-précision

Sujet résolu
    14 mars 2011 à 19:36:51

    Bonjour,
    Je m'amuse actuellement à lire les fichiers de minecraft en python (avec PySide mais ce n'est pas le problème). Dans ces fichiers, il peut y avoir des floats (4 octets) ou des doubles (8 octets), seulement Python ne gère pas de base les floats. Est-ce qu'il y a un moyen de le récupérer sans passer par une dépendance comme NumPy ? Comme changer le type de la variable sans changer/convertir son contenu ? (pour le moment je le lis en tant que UInt32).
    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      14 mars 2011 à 19:49:44

      Je n'ai pas de réelles bases en C ou en java, et donc j'ai des difficultés à comprendre ce que tu veux réellement.

      Citation

      Dans ces fichiers, il peut y avoir des floats (4 octets) ou des doubles (8 octets)



      Pas de soucis pour l'instant.

      Citation

      seulement Python ne gère pas de base les floats



      Que veux-tu dire par gérer? Un exemple?

      Citation

      Est-ce qu'il y a un moyen de le récupérer sans passer par une dépendance comme NumPy ?



      Idem je comprend pas, récupérer quoi, son type? sa valeur? son Id?

      Citation

      Comme changer le type de la variable sans changer/convertir son contenu ?



      Si je prend à la lettre je dirais que oui

      >>> ma_var = 12.5874
      >>> type(ma_var)
      <type 'float'>
      >>> ma_var = str(ma_var)
      >>> ma_var
      '12.5874'
      >>> type(ma_var)
      <type 'str'>
      


      • Partager sur Facebook
      • Partager sur Twitter
        14 mars 2011 à 19:59:38

        Citation : fred1599

        Je n'ai pas de réelles bases en C ou en java, et donc j'ai des difficultés à comprendre ce que tu veux réellement.


        en python il n'y a qu'un type de nombre à virgule, et il est en double précision (sur 64 bits). Or moi j'ai besoin d'en lire un (dans un fichier) en simple précision (sur 32 bits)
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          14 mars 2011 à 20:04:55

          Je crois que ce que tu veux se trouve , maintenant j'ai jamais bidouillé là dedans.

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            14 mars 2011 à 20:09:49

            Il s'agit de lire un fichier binaire et d'en ressortir les données ?

            Le module struct te sera surement très utile. ;)
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              14 mars 2011 à 20:21:14

              Ah ok, ben si c'est ça, ok j'étais à côté de la plaque :p
              • Partager sur Facebook
              • Partager sur Twitter
                14 mars 2011 à 20:28:26

                LeYan > nickel comme module :) merci.
                • Partager sur Facebook
                • Partager sur Twitter

                Lire un flottant simple-précision

                × 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