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

Java Discussion :

virgule fixe en java


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut virgule fixe en java
    je poste ici car l'exo est codé en java.
    Une partie d'un exo qui consiste a simuler un processeur me pose probleme , les calculs sur les virgules fixes au format 32bits/32bits.

    j'ai acces au nombres dans la memoire en hexa sous cette forme:

    ram: octet |octet | octet| ect...

    ff|ff|ff|fe|,cc|cc|cc|cd| represente -1.2 en decimal
    00| 00| 00| 03|66|66|66|66| represente 3.4

    Les nombres negatif sont en complément a 2.

    j'ai différentes fonction à faire dont l'addition et la multiplication.

    J'ai deja coder les meme calculs pour les entier.

    Mais pour les nombres a virgule je vois pas trop comment faire:

    Es que j'ai juste a utilisé ma methode pour le calcule des entier sur ces nombres et ensuite je replace la virgule ?

  2. #2
    Membre du Club Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Points : 65
    Points
    65
    Par défaut
    Salut,
    Pour l'addition en virgule fixe c'est simple, c'est de l'addition d'entiers.

    Par contre pour la multiplication il y a une subtilité (et là je dépoussière mon cerveau c'est pas dit que j'ai tout bon ). En fait, tu vas multiplier tes nombres en virgule fixe comme si c'était des entiers mais le résultat que tu vas obtenir ne sera plus avec le même nombre de bits ( une multiplication de deux entiers sur 32bits va te donner un résultat sur 64 bits ). Par exemple en imaginant que tu prends une virgule fixe de 16 bits (comme dans ton exemple) ton résultat va être sur 64bits avec une virgule fixe de 32bits.
    Cela risque de te faire un overflow et de corrompre ton résultat dans le cas de valeurs un peu grandes si tu n'utilises qu'un registre de 32bits mais au final si jamais tu peux avoir tes 64 bits, il te suffit de faire un shift vers la droite de 16 bits pour avoir ton résultat en virgule fixe sur 32bits.

    J'espère avoir été suffisament clair

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Merci !! Impec c bien ca , ca marche nickel

  4. #4
    Membre du Club Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Elendhil
    Merci !! Impec c bien ca , ca marche nickel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Virgule fixe 16 bits
    Par chris069 dans le forum MATLAB
    Réponses: 6
    Dernier message: 05/06/2009, 15h13
  2. représentation des nombres a virgules fixe en systemC
    Par MohEllayali dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 10/03/2009, 22h50
  3. rendre un nombre de virgule flottante en virgule fixe
    Par mitnick2006 dans le forum Général Java
    Réponses: 3
    Dernier message: 15/08/2008, 21h44
  4. affiche virgule fixe
    Par nikolanta dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/01/2008, 13h40
  5. Chiffre a Virgule Fixe
    Par garybaldi dans le forum C
    Réponses: 3
    Dernier message: 21/06/2002, 10h41

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