两个FLOAT相加出现的奇怪现象~解决思路
两个FLOAT相加出现的奇怪现象~~~~
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->list ( $usec, $sec ) = explode ( ' ', microtime () );printf("秒:%.16f", (float)$sec);printf("微秒:%.16f", (float)$usec);printf("相加:%.16f", ( float ) $usec + ( float ) $sec);
输出结果是:
秒:1327048300.0000000000000000
微秒:0.9687510000000000
相加:1327048300.9687509536743164
我知道浮点数是一个近似值,但是我现在打印$usec且保留小数点后16位的时候,它就是没有小数啊?那不就可以认为它就等于1327048300吗?
它两个相加为什么不是1327048300.9687510000000000呢??
谢谢!!
------解决方案--------------------
Warning
浮点数精度
显然简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999...。
这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333. . .。
所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数
------解决方案--------------------
连什么是有效数都弄不清楚,真不明白你们爹妈花许多钱供你们上大学是为什么

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Nilai maksimum apungan: 1. Dalam bahasa C, nilai maksimum apungan ialah 3.40282347e+38 Menurut piawaian IEEE 754, eksponen maksimum jenis apungan ialah 127, dan bilangan digit mantissa ialah 23. Dengan cara ini, nombor titik terapung maksimum ialah 3.40282347 e+38. Dalam bahasa Java, nilai apungan maksimum ialah 3.4028235E+38. Dalam bahasa Python, nilai apungan maksimum ialah 1.7976931348623157e+308;

Ketepatan apungan boleh mencapai 6 hingga 9 tempat perpuluhan. Menurut piawaian IEEE754, bilangan digit bererti yang boleh diwakili oleh jenis apungan adalah lebih kurang 6 hingga 9 digit. Perlu diingatkan bahawa ini hanyalah ketepatan maksimum teori Dalam penggunaan sebenar, disebabkan ralat pembundaran nombor titik terapung, ketepatan jenis apungan selalunya lebih rendah. Apabila melakukan operasi nombor titik terapung dalam komputer, kehilangan ketepatan mungkin berlaku disebabkan oleh had ketepatan nombor titik terapung. Untuk meningkatkan ketepatan nombor titik terapung, anda boleh menggunakan jenis data ketepatan yang lebih tinggi, seperti dua kali ganda atau panjang.

Panjang apungan pangkalan data biasa ialah: 1. Panjang jenis apungan dalam MySQL boleh menjadi 4 bait atau 8 bait 2. Panjang jenis apungan dalam Oracle boleh 4 bait atau 8 bait. , Panjang jenis apungan dalam SQL Server ditetapkan pada 8 bait 4. Panjang jenis apungan dalam PostgreSQL boleh menjadi 4 bait atau 8 bait, dsb.

Terapung dalam bahasa C ialah jenis data yang digunakan untuk mewakili nombor titik terapung ketepatan tunggal Nombor titik terapung ialah nombor nyata yang diwakili dalam tatatanda saintifik dan boleh mewakili nilai yang sangat besar atau sangat kecil. Pembolehubah jenis apungan boleh menyimpan nilai dengan 6 digit bererti selepas titik perpuluhan Dalam bahasa C, jenis apungan boleh digunakan untuk mengendalikan dan menyimpan nombor titik apungan boleh digunakan untuk mewakili perpuluhan, pecahan, saintifik tatatanda, dsb. yang memerlukan perwakilan tepat, tidak seperti jenis integer, nombor titik terapung boleh mewakili nombor selepas titik perpuluhan, dan boleh melakukan empat operasi aritmetik pada perpuluhan.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Bait float32 termasuk bit tanda, bit eksponen dan bit mantissa, dan digunakan untuk mewakili nombor titik terapung 32-bit. Pengenalan terperinci: 1. Bit tanda (1 bit), digunakan untuk mewakili tanda nombor, 0 mewakili nombor positif, 1 mewakili nombor negatif 2. Bit eksponen (8 bit), digunakan untuk mewakili bahagian eksponen a nombor titik terapung, melalui bit eksponen , anda boleh melaraskan julat saiz nombor titik terapung 3. Bit mantissa (23 bit) digunakan untuk mewakili bahagian mantissa nombor titik terapung, dan bit mantissa menyimpan; bahagian perpuluhan nombor titik terapung. Bit tanda menentukan tanda nombor titik terapung, dan bit eksponen dan bit mantissa bersama-sama menentukan saiz dan ketepatan nombor titik terapung.

Reka letak terapung boleh menyebabkan masalah seperti mengosongkan terapung, masalah pertindihan elemen, masalah pembalut teks dan masalah reka letak responsif. Pengenalan terperinci: 1. Kosongkan masalah terapung Apabila menggunakan susun atur terapung, elemen terapung akan terlepas daripada aliran dokumen, yang mungkin menyebabkan bekas induk tidak dapat membungkus elemen terapung dengan betul bekas induk akan runtuh, menyebabkan kekacauan reka letak;

Nilai atribut apungan termasuk kiri, kanan, tiada, warisi, clearinline-start dan inline-end. Pengenalan terperinci: 1. kiri, elemen terapung ke kiri, iaitu, elemen akan berada sedekat mungkin dengan sebelah kiri bekas, dan elemen lain akan mengelilinginya di sebelah kanan 2. kanan, elemen terapung ke kanan, iaitu, elemen akan berada sedekat mungkin dengan bekas Di sebelah kanan, elemen lain akan mengelilinginya di sebelah kiri 3. Nilai lalai tiada, elemen tidak akan terapung, dan akan disusun mengikut aliran dokumen biasa, dsb.
