나는 펄 포트에 PHP 알고리즘을 시도하고 있지만, 내가 익숙하지있어 하나의 비트 연산자 투쟁 ...펄 단항 ~ 준다 예상 된 결과
때문에 PHP 코드는 다음과 같습니다 :
...
$var = '348492634';
print ~$var;
...
:
...
$var = '348492634';
print ~$var;
...
결과 : 펄에서 똑같은 일을하고 -348492635
결과 : 18446744073361058981
나는 CPU의 아키텍처에 따라 정수 크기에 대해 많이 읽었지만 실제 해결책을 찾지 못했습니다. 어쩌면 나는 단지 perl에서 잘못된 함수를 사용하고있다. ...
PHP 스크립트에서와 같은 결과를 얻으려면 논리가 필요하다.
단항'~'정수가 아닌 코드로 16 진수 문자열 입력을 강제 변환 의견이 제안합니다. – mob
@mob'~'도 문자열에서 작동합니다 :' "\ xCE \ xCD \ xCC"eq ~ "123"'. EggL의 출력은 그가 보여주는 코드에 의해 생성되지 않습니다. 어딘가에 다른 숫자가 있습니다. – amon
@amon PHP 버전에 따라 다를 수 있습니다. http://www.php.net/manual/en/language.operators.bitwise.php에있는 주석을보고 모든 사람들이'~'연산자를 다시 구현하려고하는 것을 보는 것이 재미 있습니다. – mob