我想將數字的二進制表示轉換爲PHP中的數字。我目前使用以下在Perl:將perl函數轉換爲php函數(解包,打包)
sub binary2decimal {
return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}
例如,binary2decimal('1101')
回報13
,並且binary2decimal('1110')
返回14
。
我想將數字的二進制表示轉換爲PHP中的數字。我目前使用以下在Perl:將perl函數轉換爲php函數(解包,打包)
sub binary2decimal {
return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
}
例如,binary2decimal('1101')
回報13
,並且binary2decimal('1110')
返回14
。
也許你需要這個功能:http://php.net/bindec
但我認爲這實施也做了同樣的:{( 「0b」 時移)十月}
function binary2decimal($param) {
return unpack("N", pack("B32",substr(str_repeat("0",32) . $param, -32)));
}
順便說一句,'子binary2decimal'是在Perl中更簡單的實現。 – ikegami
這個轉變是什麼?我不知道perl ... – user2912239
在一個sub中,它是'shift(@_)'的縮寫。 '@ _'包含子的參數。 – ikegami