Rumah > pembangunan bahagian belakang > masalah PHP > Apakah maksud titik terapung php?

Apakah maksud titik terapung php?

藏色散人
Lepaskan: 2023-03-14 21:02:02
asal
7212 orang telah melayarinya

Titik terapung PHP merujuk kepada jenis titik terapung terapung, juga dipanggil terapung nombor titik terapung, nombor ketepatan berganda ganda atau nombor nyata sintaksnya adalah seperti "$a = 1.234; $b = 1.2e3. ;"; float Panjang perkataan titik bergantung pada platform, walaupun biasanya nilai maksimum ialah 1.8e308 dengan ketepatan 14 digit perpuluhan.

Apakah maksud titik terapung php?

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Apakah titik terapung php maksudnya?

Jenis titik terapung terapung

Jenis titik terapung (juga dipanggil terapung nombor titik terapung, nombor ketepatan berganda ganda atau nombor nyata nyata) boleh ditakrifkan dengan mana-mana daripada sintaks berikut :

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
$d = 1_234.567; // 从 PHP 7.4.0 开始支持
?>
Salin selepas log masuk

Bentuk perwakilan nombor titik terapung (garis bawah tidak disokong sebelum PHP 7.4.0):

LNUM          [0-9]+(_[0-9]+)*
DNUM          ([0-9]*(_[0-9]+)*[\.]{LNUM}) | ({LNUM}[\.][0-9]*(_[0-9]+)*)
EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM})
Salin selepas log masuk

Panjang perkataan nombor titik terapung bergantung pada platform, walaupun nilai maksimum biasa ialah 1.8 e308 dan mempunyai ketepatan 14 digit perpuluhan (format IEEE 64-bit).

Ketepatan nombor titik terapung

Nombor titik terapung mempunyai ketepatan yang terhad. Walaupun ia bergantung kepada sistem, PHP biasanya menggunakan format berganda IEEE 754, jadi ralat relatif maksimum akibat pembundaran ialah 1.11e-16. Operasi matematik bukan asas mungkin memberikan ralat yang lebih besar, dan perambatan ralat semasa melakukan operasi gabungan perlu diambil kira.

Tambahan pula, nombor rasional seperti 0.1 atau 0.7 yang boleh diwakili dengan tepat dalam perpuluhan, tidak kira berapa banyak mantissa yang ada, tidak boleh diwakili dengan tepat oleh binari yang digunakan secara dalaman, dan oleh itu tidak boleh ditukar kepada binari tanpa kehilangan sedikit ketepatan Format. Ini boleh membawa kepada hasil yang mengelirukan: contohnya, floor((0.1 0.7)*10) biasanya akan mengembalikan 7 dan bukannya 8 yang dijangkakan, kerana perwakilan dalaman hasil sebenarnya adalah seperti 7.999999999999991118... .

Jadi, jangan sekali-kali percaya bahawa keputusan nombor titik terapung adalah tepat kepada digit terakhir, dan jangan sekali-kali membandingkan dua nombor titik terapung untuk melihat sama ada ia sama. Jika anda benar-benar memerlukan ketepatan yang lebih tinggi, anda harus menggunakan fungsi matematik ketepatan arbitrari atau fungsi gmp.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah maksud titik terapung php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan