IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

[Caml Light] Représentation binaire d'un réel


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Caml Light] Représentation binaire d'un réel
    Bonjour,
    Existe-t-il en Caml Light une fonction pour récupérer la représentation binaire (ou un bit en particulier) d'un réel (float) ?

    Je pourrais programmer une fonction en utilisant la norme IEEE 754, mais ce serait dommage puisque l'ordinateur doit bien avoir une représentation binaire de ce réel... Caml Light peut-il nous la donner ?

    Merci d'avance...

  2. #2
    Membre actif
    Avatar de Ptival
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 70
    Points : 276
    Points
    276
    Par défaut
    En OCaml, on utiliserait Int32.bits_of_float ou Int64.bits_of_float (selon la précision qui nous intéresse).

    Disposes-tu de ces modules en Caml Light ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse. Ces fonctions sont exactement ce que je cherchais, malheureusement ça n'existe pas en Caml Light...

    Du coup, est-il possible d'inclure dans du code Caml Light du code Ocaml, ou bien une référence à un fichier en Ocaml externe ?

    NB : J'ai essayé de regarder le code source de Ocaml, du module Int32, pour voir comment la fonction est codée. Seulement, la fonction en elle-même se trouve visiblement dans un fichier en C externe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    external bits_of_float : float -> int32 = "caml_int32_bits_of_float"
    J'ai cherché mais je ne trouve pas le fichier où est codée cette fonction, sauriez-vous par hasard où le trouver ?

    Merci encore !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Tu vas chercher trop loin et trop compliqué, ce n'est pas une solution.

    Pourquoi ne pas simplement utiliser OCaml au lieu de Caml Light pour ton projet ? Le langage Caml Light n'est plus maintenu, toutes les bibliothèques logicielles sont faites pour OCaml, et passer de l'un à l'autre n'est pas bien difficile (il y a des petites différentes de syntaxe, et de nommage dans la bibliothèque standard).

Discussions similaires

  1. [Caml Light] Librairie 'graphics" et Linux
    Par paf le chiot dans le forum Caml
    Réponses: 11
    Dernier message: 16/03/2007, 19h16
  2. Typage Caml light (je suis totalement perdu!)
    Par ficarre dans le forum Caml
    Réponses: 11
    Dernier message: 24/02/2007, 15h42
  3. Réponses: 3
    Dernier message: 07/12/2006, 11h15
  4. représentation binaire-->entier
    Par felicity dans le forum C
    Réponses: 6
    Dernier message: 17/01/2006, 21h57
  5. CRITERIA - Représentation binaire d'un nombre décimal signé.
    Par RamDevTeam dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 10/08/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo