php og regning

Tags:    php

hvorfor siger php at 9223372036854775700 minus 9223372036854775000 gir 1024 når det kun gir 700

?

-Thomas



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Skummelt. Min TI-30X II siger det gir 0. Måske er det fordi php (eller min lommeregner :)) ikke kan regne med så store tal.



Indlæg senest redigeret d. 13.03.2006 14:20 af Bruger #3275
Skummelt. Min TI-30X II siger det gir 0. Måske er det fordi php (eller min lommeregner :)) ikke kan regne med så store tal.

Har det fået løst delvis

den siger nemlige inge forskel selv om det er 100

nå min kode

har ændret da du kun kun tage 1000000000000000000
floor($nantal=(floor($nantal)-1000000000000000000));

nu siger den at både

9223372036854775700-9000000000000000000=223372036854775800
og at
9223372036854775800-9000000000000000000=223372036854775800

hvordan kan jeg sørge for at detpasser med de rige regnstykker

har prøvet med koden
number_format($nantal=(number_format($nantal,0,"","")-1000000000000000000),0,"");

$nantal=$nantal-1000000000000000000;

men alle siger det samme.



Har du tjekket, http://dk.php.net/manual/da/language.types.integer.php ud? Måske dit svar er at finde der?



Mit første gæt var måske at der skete overløb?!



t