Sono molto confuso dal comportamento della funzione di spostamento a sinistra di PHP. Lo sto usando su due macchine diverse (dev e hosting), e mi stanno dando risposte diverse. Ho rintracciato giù a questo calcolo:PHP Left Shift con due risposte su due macchine diverse
(-3941404251) << 5;
Su una macchina che sto ricevendo la risposta -1.570,884448 millions; dall'altra, ottengo 0. Su entrambi i sistemi, PHP_INT_MAX = 2147483647. Il più tardi è un sistema a 32 bit, e il primo a 64 bit, anche se php è in esecuzione come processo a 32 bit e dà ancora la stessa risposta.
Posso solo supporre che questo sia un problema con 32-bit vs 64-bit, ma esiste un modo semplice per ottenere il comportamento desiderato. Se qualcuno potesse indicarmi una funzione o qualcosa del genere, sarebbe fantastico.
Grazie!
bene, mettere l'eco di fronte a tale affermazione produce la stessa cosa. (contesto non è il problema). – Brendon
@Sarfraz: ha mostrato il suo codice: '(-3941404251) << 5' ;;; @Brendon: riproduco ciò che descrivi: 0 su 32 bit e -1570884448 su 64 bit –