Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Liczenie na hexach / duze liczby
Pooligans
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

Ostrzeżenie: (0%)
-----


Witam, mam nastepujacy problem. Mam strone na ktorej user podaje 3 liczby hex w inpucie a nastepnie wysyla formularzem do skryptu. Przyklad:

w inpucie ktos podaje dane:

1 - 45eaff18
2 - 1ee312c2
3 - 2c0e299b

skrypt wykonuje:
1+2*3

$Dec_Info1 = HexDec($Information1);
$Dec_Info2 = HexDec($Information2);
$Dec_Info3 = HexDec($Information3);
$Hex_ID = dechex($Dec_Info1 + $Dec_Info2 * $Dec_Info3);

Wynik tej operacji w php to B6046C80, a w rzeczywistosci powinien byc 0xE wiekszy czyli B6046C8E.

Czy php nie jest sobie w stanie poradzic z tak duzymi liczbami? Prosze o pomoc bo nie mam zielonego pojecia jak sobie z tym poradzic, jezeli ktos poda mi gotowe rozwiazanie, obiecuje ze zostanie wynagrodzony adekwatnie do zadania. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


PHP duże liczby konwertuje na float, a co za tym idzie traci się trochę dokładności. Będziesz musiał użyć rozszerzenia GMP" title="Zobacz w manualu PHP" target="_manual, np.:

  1. <?php
  2.  
  3. $hex1 = '45EAFF18';
  4. $hex2 = '1EE312C2';
  5. $hex3 = '2C0E299B';
  6.  
  7. $val1 = gmp_init( "0x{$hex1}" );
  8. $val2 = gmp_init( "0x{$hex2}" );
  9. $val3 = gmp_init( "0x{$hex3}" );
  10.  
  11.  
  12. $hexID = gmp_add( $val1, gmp_mul( $val2, $val3 ) );
  13.  
  14.  
  15. echo strtoupper( gmp_strval( $hexID, 16 ) );
  16.  
  17. ?>


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Pooligans
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

Ostrzeżenie: (0%)
-----


Niestety mam tylko zwykly hosting i nie moge instalowac zadnego oprogramowania sad.gif
Go to the top of the page
+Quote Post
legorek
post
Post #4





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Troszkę pomyślunku. Zastanów się jak wykonujesz takie obliczenie na kartce (np algorytmem dodawania "w słupku") Potem zaimplementuj to w PHP.


--------------------
Go to the top of the page
+Quote Post
Pooligans
post
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

Ostrzeżenie: (0%)
-----


Nie bede marnowal czasu na cos co powinno wykonac php. Najwieksza zagadka dlaczego to nie dziala?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:55