valeur maximale javascript
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-12 09:26:50
0
4
942

En js, Number.MAX_VALUE représente la valeur maximale pouvant être représentée. Si elle dépasse cette valeur, Infinity apparaîtra, mais mon calcul ci-dessous est difficile à comprendre

(Number.MAX_VALUE+123)==Number.MAX_VALUE   //true  why?
(Number.MAX_VALUE+Number.MAX_VALUE)==Number.MAX_VALUE  //false why?
console.log(5.3e-324)  //5e-324 why?

Qui comprend pourquoi cela se produit ? Pouvez-vous l'expliquer ?

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(4)
黄舟
  1. Parce que 123 est trop petit pour changer l'expression à chiffres élevés

  2. Parce que Number.MAX_VALUE est suffisamment grand pour changer l'expression des chiffres élevés

  3. 5.3e-324 de .3 est trop petit

Résumé : js a souvent du mal à garantir l'exactitude des calculs en virgule flottante, tels que 0,1 + 0,2 != 0,3 // vrai

曾经蜡笔没有小新

Cent millions plus un, après arrondi, cela fait toujours cent millions, ce qui est presque la même vérité. Ce n'est pas si précis

世界只因有你


应该只是一种数值的表示吧,如果减号与数字隔开是无法计算的

我想大声告诉你

Dans le premier exemple, vous augmentez simplement votre nombre d'un tout petit nombre : 123 selon 1,79^308 n'est rien. Vous avez donc "perdu" un peu de précision : cela ne change pas le chiffre.

Dans le second, vous dépassez la valeur maximale, donc votre nombre n'est plus un nombre, c'est l'Infini.

par Mistalis de stackoverflow
quelque chose à propos de Number.MAX_VALUE

说白了就是浮点数精度问题!

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal