问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP 进制转换 10进制转2进制 自定义个函数

发布网友 发布时间:2022-04-22 08:27

我来回答

1个回答

热心网友 时间:2022-04-06 05:01

以下是一个转换函数:

function dec_to_bin($datalist,$bin)
{
static$arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
if(!is_array($datalist)) $datalist=array($datalist);
if($bin==10) return $datalist; //相同进制忽略
$bytelen=ceil(16/$bin); //获得如果是$bin进制,一个字节的长度
$aOutChar=array();
foreach($datalist as $num)
{
$t="";
$num=intval($num);
if($num===0) continue;
while($num>0)
{
$t=$arr[$num%$bin].$t;
$num=floor($num/$bin);
}
$tlen=strlen($t);
if($tlen % $bytelen != 0)
{
$pad_len=$bytelen-$tlen%$bytelen;
$t=str_pad("",$pad_len,"0",STR_PAD_LEFT).$t; //不足一个字节长度,自动前面补充0
}
$aOutChar[]=$t;
}
return$aOutChar;
}

其实,PHP的base_convert、decbin函数就可以完成类似功能。追问对于初学者来讲 看不懂啊

追答从十进制向其它进制转换,其实就是用该数字不断除以要转换的进制数,读取余数,我记得在上课时有句话就叫“除2取余”,最后将余数连接一起就可以了。

以下是简化后的代码:

0)
{
$t = ($num % $bin) . $t; //依次将每个 取余 得到的字符连接在一起
$num = floor($num / $bin); //除2(或8、16,根据你需要转换的进制来定),取整
}
return $t;
}

echo dec2bin(128,2);
?>

以下是完整版本的函数:

====================================

0)
{
$t = $arr[$num % $bin] . $t; //依次将每个 取余 得到的字符连接在一起
$num = floor($num / $bin); //除2(或8、16,根据你需要转换的进制来定),取整
}

//处理结果,将结果保存到数组
$tlen = strlen($t);
if ($tlen % $bytelen != 0)
{
$pad_len = $bytelen - $tlen % $bytelen;
$t = str_pad("", $pad_len, "0", STR_PAD_LEFT) . $t; //不足一个字节长度,自动前面补充0
}
$aOutChar[] = $t;
}
return $aOutChar;
}

var_mp(dec_to_bin(128,2));
?>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...低压90一110间、高压140一160之间吃什心药好 形体舞四大要素 广樱热水器价格是多少 广樱电热水器质量怎么样 广樱热水器品牌定位是什么,主要面向那些用户群体 广樱燃气热水器质量怎么样 广樱热水器售后服务如何 华伦天奴有哪些款式的高跟鞋比较受欢迎? 华伦天奴rockstud 系列鞋子的特点是什么? 门为什么用铆钉 非洲黑茉莉有毒吗 快手上卖的老纸币是真的吗 C语言有哪些取整函数? php中expfloor是什么意思? 请问这是什么花花啊 php取整的几种方式 php使用哪个函数实现向上取整,哪个函数实现向下取整 php程序如何实现四舍五入和无条件舍去、无条件进入... php取整函数是什么 php函数里面什么是舍去法取整? php中的四舍五入函数代码(floor函数、ceil函数、ro... Loadrunner中的关联是什么意思 金山在线文档对关联函数? 两excel工作表之间怎样通过函数关联? mfc如何给工具栏关联函数 loadrunner怎样设置关联函数 EXCEL如何设置函数公式实现工作表之间的关联性? 通江县地方税务局的领导信息 什么是两点角关联函数(two 问道为什么我进不了八仙梦境 到曹国舅那领不到啊 什么叫中古品?和二手有什么区别? 求三菱伺服尺寸 求花的种类!!! 三菱mr-j4-70a伺服rle6.1伺服报警如何解决 PHP时间相减获得剩余天数小时数分钟数 五帝钱不是真古货有没有效果? 你知道的花的名字 不锈钢201及304密度分别是多少? 三菱MR-J4-A伺服参数设置 中古货什么意思? php里面如何对除法结果取整? 请问这是什么花啊 ! 不锈钢201的密度是多少 伺服三菱j4相比j3有什么优缺点 不锈钢304和201密度哪个大呢 中古货?什么意思?? 伺服电机HG-SR202与HG-SR202B有啥区别? PHP 选择题? 201不锈钢密度是多少? 蔓藤类的花有哪些?