Qu'est ce que la virgule flottante?
- 15 réponses
- 12 participants
- 3 121 vues
- 2 followers
Broadcast
141

Posteur·euse AFfiné·e
Membre depuis 22 ans
03 Novembre 2003 à 21:56Qu'est ce que la virgule flottante?
#1
Je pose la question: qu'est ce que la virgule flottante?
Personnellement je n'en n'est aucune idée.
Si quelqu'un veut bien me repondre, il aura toute ma consideration
!
Merci.
Cf dossier Satis sur AF:
La Lexicon Omega inclut en outre le plug-in "Pantheon" :
Algorithmes des réverbes Lexicon
6 types de réverbes dont Hall, Chamber, Plate, Room, Ambience et personnalisée
35 presets et un éditeur permettant d'en créer d'autres
16 paramètres de la réverbe sont modulables par l'utilisateur
Traitement du signal en virgule flottante
En 16 et 24 bits
Fréquences d'échantillonnages jusqu'à 96 KHz
Personnellement je n'en n'est aucune idée.
Si quelqu'un veut bien me repondre, il aura toute ma consideration
Merci.
Cf dossier Satis sur AF:
La Lexicon Omega inclut en outre le plug-in "Pantheon" :
Algorithmes des réverbes Lexicon
6 types de réverbes dont Hall, Chamber, Plate, Room, Ambience et personnalisée
35 presets et un éditeur permettant d'en créer d'autres
16 paramètres de la réverbe sont modulables par l'utilisateur
Traitement du signal en virgule flottante
En 16 et 24 bits
Fréquences d'échantillonnages jusqu'à 96 KHz
signaler
Anonyme
1094

03 Novembre 2003 à 22:20
#2
Ouh c cho tout ca, c une méthode de codage, de stockage des nombres réels dans les ordinateurs, pour qu'ils puissent les manipuler assez rapidement.
Contrairement au calcul en virgule fixe où c'est le programmateur qui fait bouger la virgule, le calcul sur les nombres décimaux, représentés sous la forme d'une mantisse et d'un exposant, est directement fait par le processeur.
Une mantisse qu'est-ce donc ?
c la partie fractionnaire ou décimale d'un logarithme ou d'un nombre
exemple !
le logarithme de 163 est 2.212. La mantisse est 0.212 et la caractéristique est 2.0.
Pour les nombres en virgule flottante, la mantisse est la partie donnant les chiffres significatifs. Par exemple 24 peut s'écrire 24.2 où 24 est la mantisse et 2 est l'exposant. Le nombre en virgule flottante est noté 0.24 X 102ou 2 (4).
si tu veux vraiment en savoir plus, va voir un programmeur php ( un vrai parce que moi ... lol ) et il t'explikera mieux que ca
Contrairement au calcul en virgule fixe où c'est le programmateur qui fait bouger la virgule, le calcul sur les nombres décimaux, représentés sous la forme d'une mantisse et d'un exposant, est directement fait par le processeur.
Une mantisse qu'est-ce donc ?
c la partie fractionnaire ou décimale d'un logarithme ou d'un nombre
exemple !
le logarithme de 163 est 2.212. La mantisse est 0.212 et la caractéristique est 2.0.
Pour les nombres en virgule flottante, la mantisse est la partie donnant les chiffres significatifs. Par exemple 24 peut s'écrire 24.2 où 24 est la mantisse et 2 est l'exposant. Le nombre en virgule flottante est noté 0.24 X 102ou 2 (4).
si tu veux vraiment en savoir plus, va voir un programmeur php ( un vrai parce que moi ... lol ) et il t'explikera mieux que ca
signaler
rhaaa.A
63

Posteur·euse AFfranchi·e
Membre depuis 22 ans
03 Novembre 2003 à 22:23
#3
11.5 Comment simuler == entre des flottants ?
Étant donné qu'il y a perte de précision très vite, pour comparer deux valeurs flottantes, on teste si elles sont assez proches. Plutôt que d'écrire une horreur du genre :
double a, b;
/* ... */
if (a == b) /* HORREUR ! */
/* ... */
on écrira :
#include <math.h>
/* ... */
double a, b;
/* ... */
if (fabs (a - b) <= epsilon * fabs (a) )
/* ... */
où l'on aura judicieusement choisi epsilon (non-nul !).
haut de page
--------------------------------------------------------------------------------
11.6 Comment arrondir des flottants ?
La méthode la plus simple et la plus expéditive est (int)(x + 0.5). Cette technique ne fonctionne pas correctement pour les nombres négatifs aussi vaut-il mieux utiliser
(int)(x < 0 ? x - 0.5 : x + 0.5)
haut de page
--------------------------------------------------------------------------------
11.7 Pourquoi le C ne dispose-t-il pas d'un opérateur d'exponentiation ?
Parce que certains processeurs ne disposent pas d'une telle instruction. Il existe une fonction pow() déclarée dans math.h bien que la multiplication soit préférable pour de petits exposants.
haut de page
--------------------------------------------------------------------------------
11.8 Comment obtenir Pi ?
Parfois une constante prédéfinie M_PI est déclarée dans math.h mais ce n'est pas standard aussi vaut-il mieux calculer pi soi-même via 4 * atan (1.0).
haut de page
--------------------------------------------------------------------------------
11.9 Qu'est-ce qu'un NaN ?
« NaN is Not a Number », ce qui signifie « Ce n'est pas un nombre ». Un NaN est un nombre flottant qui est le résultat d'une opération non conforme, par exemple 0/0. Lorsqu'un NaN est produit, la plupart des architectures produisent une interruption (ou un signal) qui termine le programme, au moment de l'utilisation de celui-ci. Il est parfois possible de vérifier si un nombre est NaN. Un bon test est celui-ci :
#define isNaN(x) ((x) != (x))
Certains compilateurs fournissent des facilités quant à la gestion des NaN. GCC fournit dans la bibliothèque mathématique (math.h) les fonctions isnan(), isinf() et finite().
Étant donné qu'il y a perte de précision très vite, pour comparer deux valeurs flottantes, on teste si elles sont assez proches. Plutôt que d'écrire une horreur du genre :
double a, b;
/* ... */
if (a == b) /* HORREUR ! */
/* ... */
on écrira :
#include <math.h>
/* ... */
double a, b;
/* ... */
if (fabs (a - b) <= epsilon * fabs (a) )
/* ... */
où l'on aura judicieusement choisi epsilon (non-nul !).
haut de page
--------------------------------------------------------------------------------
11.6 Comment arrondir des flottants ?
La méthode la plus simple et la plus expéditive est (int)(x + 0.5). Cette technique ne fonctionne pas correctement pour les nombres négatifs aussi vaut-il mieux utiliser
(int)(x < 0 ? x - 0.5 : x + 0.5)
haut de page
--------------------------------------------------------------------------------
11.7 Pourquoi le C ne dispose-t-il pas d'un opérateur d'exponentiation ?
Parce que certains processeurs ne disposent pas d'une telle instruction. Il existe une fonction pow() déclarée dans math.h bien que la multiplication soit préférable pour de petits exposants.
haut de page
--------------------------------------------------------------------------------
11.8 Comment obtenir Pi ?
Parfois une constante prédéfinie M_PI est déclarée dans math.h mais ce n'est pas standard aussi vaut-il mieux calculer pi soi-même via 4 * atan (1.0).
haut de page
--------------------------------------------------------------------------------
11.9 Qu'est-ce qu'un NaN ?
« NaN is Not a Number », ce qui signifie « Ce n'est pas un nombre ». Un NaN est un nombre flottant qui est le résultat d'une opération non conforme, par exemple 0/0. Lorsqu'un NaN est produit, la plupart des architectures produisent une interruption (ou un signal) qui termine le programme, au moment de l'utilisation de celui-ci. Il est parfois possible de vérifier si un nombre est NaN. Un bon test est celui-ci :
#define isNaN(x) ((x) != (x))
Certains compilateurs fournissent des facilités quant à la gestion des NaN. GCC fournit dans la bibliothèque mathématique (math.h) les fonctions isnan(), isinf() et finite().
signaler
contraddiction
46

Nouvel·le AFfilié·e
Membre depuis 23 ans
05 Novembre 2003 à 01:52
#4
Citation : Je pose la question: qu'est ce que la virgule flottante?
Ce sont les chiffres qui ont des virgules (pas des entiers) tout simplement
Moi je suis ingé informaticien de formation, et tout ce que je peux te dire c'est que je m'en fous. Ce que je veux d'une reverbe, comme un mix, comme une prise, c'est que ca sonne !!!! Après qu'elle connaisse l'âge du capitaine dans son fort intérieur
signaler
Green Saree
5426

Je poste, donc je suis
Membre depuis 23 ans
05 Novembre 2003 à 07:30
#5
Contraddiction> avec des raisonnements comme ca, on peut enlever le forum AF... 
http://www.zuba.co.uk : World bassa beat en force !
Destroy the Cosmos, ask questions later..
http://www.zuba.co.uk : World bassa beat en force !
Destroy the Cosmos, ask questions later..
Je pourrais dire à mes petits enfants que j'ai été sobre toute une semaine.
signaler
Broadcast
141

Posteur·euse AFfiné·e
Membre depuis 22 ans
05 Novembre 2003 à 14:17
#6
Effectivement, moi je suis professionnel de l'audio, j'estime que je dois connaitre un minimum en matiére d'électronique, d'électricité, d'informatique, etc...
Et savoir lire les caractéristiques d'un produit, c'est trés important.
Et savoir lire les caractéristiques d'un produit, c'est trés important.
signaler
Yvolivy
343

Posteur·euse AFfamé·e
Membre depuis 23 ans
05 Novembre 2003 à 16:34
#7
Les virgules flottantes elles ont un petit gilet de sauvetage gravé en 0.09µ, dans les aciens processeurs les virgules elles coulaient souvent à cause des calculs trop compliqués.
signaler
ektoplasm
117

Posteur·euse AFfiné·e
Membre depuis 23 ans
05 Novembre 2003 à 21:42
#8
Très joli, vraiment très joli comme explication
La dans ce document, c'est plutôt de la frime, bcp de dsp (tous?) traitent le signal en VF, le pc peut le faire aussi depuis le fameux pentium I (connu pour son fameux 100.0-100.0=0.00001), pourquoi ne pas utiliser cette possibilité ??? De toutes façons ça découle plus d'une manière de coder (programmer) que d'autre chose.
La dans ce document, c'est plutôt de la frime, bcp de dsp (tous?) traitent le signal en VF, le pc peut le faire aussi depuis le fameux pentium I (connu pour son fameux 100.0-100.0=0.00001), pourquoi ne pas utiliser cette possibilité ??? De toutes façons ça découle plus d'une manière de coder (programmer) que d'autre chose.
signaler
Yannou le Jacky
12965

Membre d’honneur
Membre depuis 24 ans
05 Novembre 2003 à 21:59
#9
Renzi > sauf que si je me trompe pas dans les ordi l'exposant n'est pas une puissance de dix mais de deux non ? puisque l'oridnateur travail en base deux.
Jacky repenti. SeuRn
signaler
contraddiction
46

Nouvel·le AFfilié·e
Membre depuis 23 ans
06 Novembre 2003 à 06:58
#10
Citation : j'estime que je dois connaitre un minimum en matiére d'électronique, d'électricité, d'informatique, etc...
Et savoir lire les caractéristiques d'un produit, c'est trés important.
Je n'ai jamais dit le contraire...
Mais je pense que le temps de latence d'un plug, son utilisation cpu sont plus explicites.
signaler
lear
185

Posteur·euse AFfiné·e
Membre depuis 22 ans
06 Novembre 2003 à 07:17
#11
Je me demande:
la virgule flottante, c'est une histoire de cpu, tout les softs qui demandent des opérations complexes vont forcer le cpu à faire flotter les decimales à coup de mantisses/exposants, et c'est pareil pour tout les plugins en particulier ? non ?
c'est pas un peut comme dire: ma voiture elle est bien, elle à 4 roues et un moteur ?
la virgule flottante, c'est une histoire de cpu, tout les softs qui demandent des opérations complexes vont forcer le cpu à faire flotter les decimales à coup de mantisses/exposants, et c'est pareil pour tout les plugins en particulier ? non ?
c'est pas un peut comme dire: ma voiture elle est bien, elle à 4 roues et un moteur ?
signaler
Anonyme
9677

09 Novembre 2003 à 15:49
#12
Citation : Moi je suis ingé informaticien de formation, et tout ce que je peux te dire c'est que je m'en fous.
Eh Contraddiction avec 2"d", nous on se fout que tu t'en foutes, cela dit sans vouloir te vexer
Broadcast
Je ne vais pas expliquer ce qu'est le calcul en virgule flottante, mes cours de math sont trop enfuis, non enfouis profondément dans ma mémoire.
Mais pour faire simple, et en prenant un exemple: Si tu mixe deux sons codés sur 24 bits, et si tu souhaites conserver l'intégralité de tes signaux, c.a.d. les 24 bits de chaques signal, le résultat sera forcément codé sur 25 bits.
Là, deux solutions. Soit tu as prévu de la réserve sur ton bus de mix (console numérique ou DAW), c'est la solution adoptée par Digidesign pour le ProTools qui as une réserve de 8 bits en plus et 16 en moins soit une résolution interne 48 bits. Soit tu déplaces la virgule et tu calcules la somme sur 24 bit entier et la suite après la virgule, qui est donc susceptible de se déplacer au gré des opérations du mix, solution Cubase/Nuendo.
Tout ça en simplifiant grandement, mais dans l'esprit on n'est pas loin.
JM
signaler
Broadcast
141

Posteur·euse AFfiné·e
Membre depuis 22 ans
09 Novembre 2003 à 17:40
#13
OK, super Jan, j'ai tout compris MERCI 
ET merci aux autres qui ont bien voulu participer
ET merci aux autres qui ont bien voulu participer
signaler
Anonyme
521397

09 Novembre 2003 à 18:20
#14
Rien compris moi 
signaler
Anonyme
9677

09 Novembre 2003 à 20:27
#15
Citation : Rien compris moi
Pov'ti'bout !
Que n'as-tu pô compris ? Si je peux aider.
JM
signaler
Goldy
1147

AFicionado·a
Membre depuis 23 ans
09 Novembre 2003 à 21:20
#16
Citation : /* ... */
Ils sont jolis tes smiley
signaler
- < Liste des sujets
- Charte