位的形式二進制字符串我有這樣的代碼:顯示,在PHP
$a = pack('N',0b00111010000011110101011100100010);
$start = strlen($a)*8 -1;
$str = '';
for($k = $start; $k>=0; $k--) {
$bit = ($a >> $k) & 1;
$str .= $bit;
}
var_dump($str);
輸出必須是這樣的:
00111010000011110101011100100010
,但告訴我這樣的輸出:
00000000000000000000000000000000
什麼在這個代碼中是錯誤的?
代碼執行時間很長。在我的瀏覽器中,它的時間是無限的,最終完成溢出內存大小!但我的解決方案的執行時間約爲1秒。 – saeid 2014-12-06 23:30:11
哎呀,在那裏有兩個錯誤。現在試試。不知道爲什麼它不會退出,但是,在我的系統上,它立即出錯。 – Andras 2014-12-07 00:30:25