62 Binary Press This arrangement:
$dict = ' 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
Please write a function input 16 binary, output 62, do not use high-precision mathematical functions, the server is disabled.
Reply to discussion (solution)
51 have gone out to play???
$aide) {$tmp = $output [$index]; $output [$index]= $output [$aide]; $output [$aide]= $tmp; $aide + +; $index--;} $index =0;while ($output [$index]<> '! ') {echo $output [$index]; $index + +;} if (($test + 1)%62==0) echo '
';}? >
I am not very familiar with PHP, many places are from the C-language perspective to think, so some places very awkward. In addition, I cannot guarantee that this thing I write is not wrong, many places in PHP are very vague. The for is to see if there are any errors, and the 62 binary numbers below 3 bits seem to be fine.
In addition I do not know how to make the array into a string, landlord you get it, I do not want to get.
There is a problem with the range of values beyond the integers. If you want to achieve a larger number of conversions, take a look at this:
http://www.php.net/manual/en/book.bc.php
There is a problem with the range of values beyond the integers. If you want to achieve a larger number of conversions, take a look at this:
Http://www.php.net/manual/en/book.bc.php, what's the mess you're in?
They already said not to use high-precision mathematical functions, the server disabled the
There is a problem with the range of values beyond the integers. If you want to achieve a larger number of conversions, take a look at this:
Http://www.php.net/manual/en/book.bc.php, what's the mess you're in?
They already said not to use high-precision mathematical functions, the server disabled the
I forgot that I wrote a few lines of code for a long time, and then I found out that it was going to go wrong when I tried the big numbers.
Landlord you want to convert the hexadecimal number will exceed the maximum value of the shaping data?
This may not require Bcmath, but I didn't try:
Http://phpseclib.bantux.org/code_coverage/220/PHP-5.2/Math_BigInteger.php.html
Landlord you want to convert the hexadecimal number will exceed the maximum value of the shaping data?
No, that 16 binary number is actually a result of a MD5 encryption.
Landlord you want to convert the hexadecimal number will exceed the maximum value of the shaping data?
No, that 16 binary number is actually a result of a MD5 encryption.
MD5 how can so many bits not exceed the representation range of the shaping?
The code in the above link seems to be unable to download, this can be downloaded:
Http://pear.php.net/package/Math_BigInteger/download
No, that 16 binary number is actually the result of a MD5 encryption
So why 62 binary? 64 is not good for binary?
because you just want to tighten up the results of MD5
Test code
$c = MD5 (' FFFF '), Echo $c, Php_eol;echo $r = convert ($c,), Php_eol;echo convert ($r, -64), function convert ($s, $to =64) { c0/> $dict = ' 0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz@= '; $res = "; $b = "; if ($to > 0) { $to = ceil (log ($to, 2)),//adjust to 2 K-Bindec for ($i =0; $i
= $to) { $res = $dict {(su BSTR ($b,-$to))}. $res; $b = substr ($b, 0,-$to); } $res = $dict {Bindec ($b)}. $res; return $res; } $to = ceil (log (-$to, 2)); for ($i =0; $i
4) { $res = $dict {Bindec (substr ($b,-4)}. $res; $b = substr ($b, 0,-4); } if (Bindec ($b)) $res = $dict {Bindec ($b)}. $res; return $res;}
ece926d8c0356205276a45266d361161
3iwirom3ly1itghipjdx5x
ece926d8c0356205276a45266d361161
It's too advanced. The little old man passed by. But also learned a key word, called high precision mathematics. Tonight, under study.
It seems that there is a function, and it can be done by any turn.
No, that 16 binary number is actually a result of a MD5 encryption.
So why would it be 62-binary? 64 is not good for binary?
Because you're just trying to tighten up the results of MD5.
Test code
$c = MD5 (' FFFF '), Echo $c, Php_eol;echo $r = convert ($c,), Php_eol;echo convert ($r, -64), function convert ($s, $to =64) { c0/> $dict = ' 0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz@= '; $res = "; $b = "; if ($to > 0) { $to = ceil (log ($to, 2)),//adjust to 2 K-Bindec for ($i =0; $i
= $to) { $res = $dict {(su BSTR ($b,-$to))}. $res; $b = substr ($b, 0,-$to); } $res = $dict {Bindec ($b)}. $res; return $res; } $to = ceil (log (-$to, 2)); for ($i =0; $i
4) { $res = $dict {Bindec (substr ($b,-4)}. $res; $b = substr ($b, 0,-4); } if (Bindec ($b)) $res = $dict {Bindec ($b)}. $res; return $res;}
ece926d8c0356205276a45266d361161
3iwirom3ly1itghipjdx5x
ece926d8c0356205276a45266d361161
In fact, I want to use 16-bit MD5 to make 4-bit 64 binary short URLs, although there is a great chance of collisions