Pagina 1 di 8 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 80
  1. #1

    [bug] modulo difettoso (la matematica è un'opinione)

    codice:
    <?php
    $num = 9999999999;
    $mod = 62;
    echo '<pre>PHP		'.
    $num.' % '.$mod.' = '.($num%$mod)."</pre>
    <script>
    var num = {$num}, mod = {$mod};
    document.write('<pre>JavaScript	' +
    num + ' % ' + mod + ' = ' + (num % mod) + '</pre>');
    </script>
    ";
    ?>
    risultato
    codice:
    PHP		9999999999 % 62 = 27
    
    JavaScript	9999999999 % 62 = 35
    ... ora se qualcuno volesse gentilmente spiegarmi perchè il PHP si inventa i moduli gliene sarei grato ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    sto facendo altri test per capire quando il numro provoca il risultato buggato ... una delle cose più divertenti è stata trovare un modulo negativo:
    codice:
    $num = 4000000000;
    $mod = 62;
    .... ovvero
    codice:
    PHP		4000000000 % 62 = -2
    JavaScript	4000000000 % 62 = 2
    ovviamente mettendo i numeri come double non cambia niente ... attendo speranzoso una risposta dai più matematici e byte dipendenti ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    pare che il limite senza errore sia questo numero: 2147483647
    da questo in poi i risultati sono da circo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    ti accorgi ora che il php usa interi a 32 bit?

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    ah è vero! va in overflow

  6. #6

  7. #7
    Originariamente inviato da zannas
    parlando potabile che significa?
    che può rappresentare correttamente interi nel range 2^31 - 1 | -2^31

    i numeri fuori da questo range non vengono rappresentati correttamente (come interi, come stringhe puoi rappresentare quello che ti pare) e quindi daranno luogo a risultati inaspettati.

  8. #8
    ora con i processori a 64bit cambierà qualcosa o no?

    [SCUSATE SE SPARO CAZZATE]

  9. #9
    Originariamente inviato da zannas
    ora con i processori a 64bit cambierà qualcosa o no?

    [SCUSATE SE SPARO CAZZATE]
    la domanda è sensata.

    Comunque non credo esista una versione di PHP ottimizzata e compilata per i processori a 64 bit, quindi no, non ne beneficia in quel senso.

  10. #10
    Originariamente inviato da skidx
    la domanda è sensata.

    Comunque non credo esista una versione di PHP ottimizzata e compilata per i processori a 64 bit, quindi no, non ne beneficia in quel senso.
    beh ma perchè non può esserci?
    basta compilare... mancheranno solo le librerie, quello sì

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.