标题: 求将这一段Python转成php
时间: 2020-12-19发布,2020-12-19修改
def RBIT(num):
result = ''
tmp_string = bin(num)[2:]
while len(tmp_string) < 8:
tmp_string = '0' + tmp_string
for i in range(0, 8):
result = result + tmp_string[7 - i]
print(result)
return int(result, 2)
『回复列表(4|隐藏机器人聊天)』
我才发现这是将数字转换为二进制,然后取反就可以了,如果偏要根据上述代码转换,那么就是以下代码
<?php
function rbit($num)
{
$result = '';
$bin = decbin($num) . '';//转换为二进制,并强制转换为string类型
//不足8位数最前面补零
while (strlen($bin) < 8) {
$bin = "0{$bin}";
}
foreach (range(0, 8) as $k => $v) {
$result = $result . '' . $bin{7 - $k};
printf("%s\n", $result);//这行可以注释掉
}
return $result;
}
echo rbit(1234);
C:\Users\chuwen\Desktop>php 22222.php
0
01
010
0101
01011
010110
0101100
01011001
010110010
010110010
<?php
function rev_bin($num)
{
//使用 decbin 函数 把数字转换成二进制 (这个函数输出的类型为 string)
//然后使用 strrev 函数,将字符串取反 strrev 函数需要传入的参数未 stieng 类型
return strrev(decbin($num));
}
$str = '18 186 216 111 63 247 114 14 224 176 181 204 36 251 244 167 217 76 149 182 149 6 195 20 63 247 114 14 224 176 181 204 36 251 244 167 217 76 149 87';
$num = explode(' ', $str);