3v4l.org

run code in 300+ PHP versions simultaneously
<?php $n = 2147483647; shift($n); echo "\n"; echo "\n"; echo "\n"; echo "\n"; $n = 2147483648; shift($n); function out($a, $b, $c, $b2 = '0', $c1 = ' ') { $padstra = 40; $padstrb = 23; echo str_pad($a, $padstra, ' ', STR_PAD_LEFT) . " " . str_pad(decbin($b), 32, $b2, STR_PAD_LEFT) . " " . str_pad($c, $padstrb, $c1) . "\n"; } function shift($n) { out($n , $n , '$n' ); echo "\n"; out('A:', $n >> 1 , '$n >> 1' ); out('B:', 0xFFFFFFFF , '0xFFFFFFFF' ); out('A & B:', ($n >> 1) & 0xFFFFFFFF , '($n >> 1) & 0xFFFFFFFF' ); echo "\n"; out('C:', $n , '$n' ); out('D:', 0x00000001 , '0x00000001' ); out('C & D:', $n & 0x00000001 , '$n & 0x00000001' ); echo "\n"; out('C & D:', $n & 0x00000001 , '$n & 0x00000001' ); out('(C & D) << 31:', ($n & 0x00000001) << 31 , '($n & 0x00000001) << 31' ); echo "\n"; out('A & B:', ($n >> 1) & 0xFFFFFFFF , '($n >> 1) & 0xFFFFFFFF' ); out('(C & D) << 31:', ($n & 0x00000001) << 31 , '($n & 0x00000001) << 31' ); out('(A & B) | ((C & D) << 31):', ($n >> 1) & 0xFFFFFFFF | ($n & 0x00000001) << 31 , '($n >> 1) & 0xFFFFFFFF | ($n & 0x00000001) << 31'); }

preferences:
41.52 ms | 402 KiB | 5 Q