PHP의 왼쪽 시프트 기능에 대해 매우 혼란 스럽습니다. 두 가지 다른 컴퓨터 (dev 및 hosting)에서 사용하고 있으며 다른 답변을 제공하고 있습니다. 나는이 계산에 아래로 추적했습니다PHP 왼쪽 시프트가 두 개의 다른 컴퓨터에서 두 개의 답변을 제공합니다.
(-3941404251) << 5;
내가 대답 -1570884448 받고 있어요 기계 하나에; 두 시스템 모두 PHP_INT_MAX = 2147483647입니다. 나중에는 32 비트 시스템이고 처음은 64 비트입니다. php는 32 비트 프로세스로 실행 중이지만 여전히 동일한 대답을 제공합니다.
나는 이것이 32 비트 대 64 비트의 문제라고 가정 할 수 있지만 원하는 동작을 얻는 쉬운 방법이 있습니다. 누군가가 저에게 기능이나 무언가를 가르키면 좋을 것입니다.
감사합니다.
잘, 그 진술 앞에 에코를 두는 것은 똑같은 것을 만듭니다. (문맥은 문제가 아니다). – Brendon
@Sarfraz : 그는 코드를 보여줍니다 :'(-3941404251) << 5' ;;; @ 브레드 본 : 당신이 묘사 한 것을 재현합니다 : 32 비트는 0, 64 비트는 -1570884448 –