Jump to content
php.lv forumi

echo 2562.3 - 2554.2 = 8.1000000000004 ?


d_01

Recommended Posts

Atņemšana arī ir saskaitīšana, tikai ar negatīvu skaitli.

Kas ir IMO?

Man ir nepieciešama precizitāte 0.6f

Es saprotu to, ka noapaļojot šo rezultātu (8.1000000000004) kaut vai līdz 8cip aiz komata rezultāts būs pareizs.

Bet negribētos uzticēties uz šo vienu gadījumu, ka viss būs ok vienkārši taisot round($a) * 10^X, atņemt un tad / 10^X.

Jautājums ir sekojošs. Kā lai pasaka php lai viņš izmantojot savus resursus papūlētos izrēķināt šo pareizi?

Edited by d_01
Link to comment
Share on other sites

Kā lai pasaka php lai viņš izmantojot savus resursus papūlētos izrēķināt šo pareizi?

Ja tev izdosies pateikt, lai PHP neizmanto iebūvētu matemātisko procesoru, tad moš izdosies.

Kļūda rodās dēļ tā, ka dators glabā float datus binārā formātā, veidā 1.xxxxxxx*2^nnn. Mēs izmantojām decimālo sistēmu, dators - bināro, tur tā precizitāte arī pazūd. Pie tam, katru reizi, reķinot float, procesors konvertē no single vai double float uz tenbyte, un pēc reķināšanas atpakaļ.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...