J'ai vu du code en ligne et j'essaie de déterminer ce que cela fait. En particulier, je n'ai jamais vu la convention "1e" avant.
4 Réponses :
C'est NOTATION SCIENTIFIQUE POUR / * Oui, vous pouvez le faire avec à peu près 1e6 code> p>
MATH.POW (10, 6) == 1000000 CODE> P>
c'est 1e6, pas le6, et cela signifie 1 * 10 ^ 6 ou 1000000.0 P>
C'est une notation scientifique. P>
M. Grayson est correct, cependant: cela signifie "100000.0", pas "100000".
in c, Ne vous laissez pas berner par les autres réponses: La syntaxe des numéros d'écriture comme 1e6 code> a type double code> et sa valeur est 1 fois 10 élevée à la 6ème puissance. C'est équivalent à 1000000.0 code>. P>
1e6 code> ne signifie pas em> signifie la même chose que 1000000 code> in c, car 1e6 code> a type double code> pendant que 1000000 code> aura du type d'entier. Il existe de grandes différences de comportement entre types de points flottants tels que double code> et entiers. P>
1e6 code> est définie dans la section "Constantes flottantes" du C11 Spécification (et versions antérieures aussi). C'est un peu comme Notation scientifique . P>
Donc, il ne faut pas être confondu avec le "E" mathématique (numéro d'Euler: en.wikipedia. org / wiki / e_ (mathématique_constant) )? Et si nous devions l'utiliser?
J'ai vu du code en ligne et j'essaie de déterminer ce qu'il est Faire. En particulier, je n'ai jamais vu la convention "1e" avant. P>
Comme d'autres personnes ont mentionné, pratiquement parlant,
1e6 code> est une notation scientifique pour 10 ^ 6 qui est 1000000 ou mieux connue sous le nom de 1 million. Mais comme cela a déjà été mentionné, par David, il est réellement traité comme undouble code> in c et la valeur est en réalité1000000.0 code>. P>mais je me sens Comme ces réponses ne se concentrent que sur cette pièce spécifique em> du code que vous avez fourni et non du tout, je voulais donc fournir un contexte supplémentaire pour vous puisque vous essayez de déterminer ce que le code fait. p>
pour ces lignes: p>
uint64_t convertedTime = (uint64_t)currentTime * 1e6;
uint64_t convertiTime = (uint64_t) actuel * 1e6; code> est un code faible. Il peut forcer (uint64_t) courante code> dans un double code> et perdre précision, uniquement pour multiplier et convertir le retour sur uint64_t code>.
Est-ce juste moi ou ce code ne compilait-il pas? À peu près sûr que vous avez des types de conflits pour
actuel code> ici