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

C Discussion :

Chiffre a Virgule Fixe


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Par d�faut Chiffre a Virgule Fixe
    Hi.

    J'aimerai savoir comment on fait pour cr�er des chiffres a virgules fixe, qui, dit on, sont plus rapides que les chiffres a virgule flottante. Je sais qu'en C++ il existe le type fixed, mais comme je suis en C, j'aimerai savoir comment on fait en C !

    deuxieme question :

    ca veut dire quoi ca ? :
    int x,y=5;
    x=y<<8 <-------- cette ligne.

    que vauit la valeur x une fois effectu� ce decalage ?

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2002
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 6
    Par d�faut glop
    Je crois que DJGPP permet d'utiliser les variables de type fixe. A moins que �a ne soit la librairie Allegro...


    Pour ce qui de ton �criture barbare, �a correspond � un d�calage binaire vers la gauche.

    5(base 10)=00000101(base 2)

    si tu d�cales de 8 vers la gauche, �a donne:
    00000101 00000000(base 2) = 255 * 5(base 10) je crois... cad plein

  3. #3
    Membre Expert

    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2002
    Messages
    255
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Aveyron (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Mars 2002
    Messages : 255
    Par d�faut
    Un chiffre c'est 0,1,2,...,9.
    Un nombre est une suite de chiffre (avec une virgule si on veut ;-)

    Tu parle de notation o� le nombre de d�cimales est fixe, et on stocke l'ensemble dans des nombres entiers car le calcul sur des entiers est bien plus rapide que sur des flottants (appel au coprocesseur arithm�tique, faut jouer avec ses registres, �a prend + de temps). Tu fixes par exemples 8 bits pour la partie d�cimale, reste x-8 bits pour la partie enti�re, on va dire que x=32 pour un long sur un Intel x86-32 bits.

    Ex: 5.9 = 101 virgule 1001 sera stock� "101 00001001" (avec des z�ros devant), on calcule �a en faisant : 5*256 +9. Or *256 s'optimise bien avec le d�calage binaire car 256=2^8 -> 5 << 8 (multipli� par 2^8).

    Apr�s faut tout reprogrammer : somme,diff�rence,produit,division (bal�ze �a),puissance,et convertion vers -> float ou -> double.

    Ex: 4.0 -0.1 -> 3.9, mais en pratique �a donne
    (4 0) - (0 1) = (4 -1) ---> (3 9) quand on travaille en base 10 (chiffre entre 0 et 10-1=9)

    Viens faire un tour sur ma page des Grands nombres entiers, �a t'aidera :
    http://www.haypocalc.com/grandnbr/

    Et aussi voir les tutoriels et cours de C : http://c.developpez.com/cours/

    Allez @+ Haypo

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 17
    Par d�faut
    merci bien !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 09/04/2006, 11h30
  2. probl�me d'arrondi � 2 chiffres apr�s virgule
    Par nerick dans le forum Langage
    R�ponses: 1
    Dernier message: 05/01/2006, 17h26
  3. PROBLEME : chiffre avec virgule dans MySQL
    Par cedre22 dans le forum Requ�tes
    R�ponses: 11
    Dernier message: 15/12/2005, 16h41
  4. Transformer un chiffre a virgule en int
    Par Battosaiii dans le forum C
    R�ponses: 3
    Dernier message: 22/11/2005, 13h30
  5. extraire 2 chiffres apr�s virgule ?
    Par nerick dans le forum C
    R�ponses: 2
    Dernier message: 13/12/2002, 17h10

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