Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zakres integer a serwer 64
Forum PHP.pl > Forum > Przedszkole
auto111
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 ?
Crozin
Jakie są konkretne problemy? Kod 32-bitowy powinien bez problemu działać pod 64-bitowym systemie.
auto111
są tam operacje bitowe >> << i modulo 2 do 32 i na wersji 64 to nie zadziała.
Crozin
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.