php编程:将26位字母进制转换为10进制数字,如何做?

将26位字母进制转换为10进制数字,如何做?比如把asdfggghe这个个26进制的数,如何转为10进制的数字... 将26位字母进制转换为10进制数字,如何做?
比如把 asdfggghe 这个个26进制的数,如何转为10进制的数字
展开
 我来答
yukon12345
2010-04-08 · TA获得超过1713个赞
知道大有可为答主
回答量:1827
采纳率:66%
帮助的人:996万
展开全部
主要是加权法。
10进制结果=∑各位上的值*(进制数^各位权值)
a^b表示a的b次方。
比如你说的26进制
a->1
s->19
d->4
那么asd=1*(26^2)+19*(26^1)+4*(26^0)=1174(10进制)
如果是8进制数456=4*(8^2)+5*(8^2)+6*(8^0)=302(10进制)

分太少,不写源程序了,建立索引数组$arr[a]=1$,arr[b]=2..
再把输入的字母拆成单字符倒序数组使得$single[2]=a,$single[1]=s,$single[0]=d,按上面方法权值相加。
你懂的。
T_i_ger__
2010-04-08
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
<?php
$str="abcdefg";//写你想要算的字符串;
$v;
function getv($s){
$arr=str_split($s,1);
for ($i=0;$i<strlen($s);$i++)
{
$v=gett($arr[$i])*getw(strlen($s)-$i-1)+$v;
}
echo $v;
}
function getw($w){
$x=1;
for ($i=0;$i<$w;$i++){
$x=26*$x;
}
return $x;
}
function gett($ch){
return (ord($ch)-96);
}
echo getv($str);
?> 虽然不难,但是麻烦.这题没意思;
注:getv计算总结果; gett计算字母代表的数字; getw计算权值;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和恩全美曼
2020-04-22 · TA获得超过3680个赞
知道大有可为答主
回答量:3034
采纳率:31%
帮助的人:377万
展开全部
<?php
$str="abcdefg";//写你想要算的
字符串
;
$v;
function
getv($s){
$arr=str_split($s,1);
for
($i=0;$i<strlen($s);$i++)
{
$v=gett($arr[$i])*getw(strlen($s)-$i-1)+$v;
}
echo
$v;
}
function
getw($w){
$x=1;
for
($i=0;$i<$w;$i++){
$x=26*$x;
}
return
$x;
}
function
gett($ch){
return
(ord($ch)-96);
}
echo
getv($str);
?>
虽然不难,但是麻烦.这题没意思;
注:getv计算总结果;
gett计算
字母
代表的数字;
getw计算
权值
;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真心游侠
2010-04-08 · 超过10用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:56.6万
展开全部
26位字母进制?
它不是26进制,是不是要转换他们的ASCII码呢?

如果是16进制转10进制的话,使用函数 hexdex 就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式