Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zakres integer a serwer 64
-auto111-
post
Post #1





Goście







Mam aplikację 32 bitową a serwera na którym bedzie ona działać jest 64 bitowy. Aplikacja nie działa prawidłowo ze względu na zakres zmiennych typu int. Co można zrobić aby wszystkie operacje były przeprowadzane na intach 32 ?
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Jakie są konkretne problemy? Kod 32-bitowy powinien bez problemu działać pod 64-bitowym systemie.
Go to the top of the page
+Quote Post
-auto111-
post
Post #3





Goście







są tam operacje bitowe >> << i modulo 2 do 32 i na wersji 64 to nie zadziała.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Nie jestem pewien (sam nigdy nie miałem tego problemu), ale być może będziesz musiał w następujący sposób:
  1. if (PHP_INT_SIZE == 4) {
  2. $a << /* wersja na maszyny 32-bitowe */
  3. } else {
  4. $a << /* wersja na maszyny 64-bitowe */
  5. }
(oczywiście możesz sobie gdzieś wcześniej zdefiniować jakieś stale IS_64BIT, IS_32BIT by te warunki były bardziej ludzkie.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 16.09.2025 - 12:01