nilai maksimum javascript
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-12 09:26:50
0
4
945

Dalam js, Number.MAX_VALUE mewakili nilai maksimum yang boleh diwakili. Jika melebihi nilai ini, Infinity akan muncul, tetapi pengiraan saya di bawah sukar difahami

(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?

Siapa faham kenapa ini boleh?

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

membalas semua(4)
黄舟
  1. Kerana 123 terlalu kecil untuk menukar ungkapan angka tinggi

  2. Oleh kerana Number.MAX_VALUE cukup besar untuk menukar ungkapan digit tinggi

  3. 5.3e-324 daripada .3 terlalu kecil

Ringkasan: js sering mengalami kesukaran dalam memastikan ketepatan pengiraan titik terapung, seperti 0.1 + 0.2 != 0.3 // benar

曾经蜡笔没有小新

Seratus juta tambah satu, selepas digenapkan, ia masih seratus juta, iaitu kebenaran yang hampir sama. Ia tidak begitu tepat

世界只因有你


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

我想大声告诉你

Dalam contoh pertama, anda hanya menambah nombor anda dengan nombor yang sangat kecil: 123 mengikut 1.79^308 bukan apa-apa. Jadi anda "kehilangan" beberapa ketepatan: ia tidak menukar nombor.

Dalam yang kedua, anda melebihi nilai maksimum, jadi nombor anda bukan nombor lagi, ia adalah Infiniti.

oleh Mistalis daripada stackoverflow
sesuatu tentang Number.MAX_VALUE

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan