使用:表示10以及使用;表示11的原因是根据ascii的排列来选择的,这样要对64进制比较大小,直接比较就可以了。。。
<?php
function dec2s4($dec) {
$base = '0123456789:;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$result = '';
do {
$result = $base[$dec % 64] . $result;
$dec = intval($dec / 64);
} while ($dec != 0);
return $result;
}
function s42dec($sixty_four) {
$base_map = array (
'0' => 0,
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 5,
'6' => 6,
'7' => 7,
'8' => 8,
'9' => 9,
':' => 10,
';' => 11,
'a' => 12,
'b' => 13,
'c' => 14,
'd' => 15,
'e' => 16,
'f' => 17,
'g' => 18,
'h' => 19,
'i' => 20,
'j' => 21,
'k' => 22,
'l' => 23,
'm' => 24,
'n' => 25,
'o' => 26,
'p' => 27,
'q' => 28,
'r' => 29,
's' => 30,
't' => 31,
'u' => 32,
'v' => 33,
'w' => 34,
'x' => 35,
'y' => 36,
'z' => 37,
'A' => 38,
'B' => 39,
'C' => 40,
'D' => 41,
'E' => 42,
'F' => 43,
'G' => 44,
'H' => 45,
'I' => 46,
'J' => 47,
'K' => 48,
'L' => 49,
'M' => 50,
'N' => 51,
'O' => 52,
'P' => 53,
'Q' => 54,
'R' => 55,
'S' => 56,
'T' => 57,
'U' => 58,
'V' => 59,
'W' => 60,
'X' => 61,
'Y' => 62,
'Z' => 63,
);
$result = 0;
$len = strlen($sixty_four);
for ($n = 0; $n < $len; $n++) {
$result *= 64;
$result += $base_map[$sixty_four{$n}];
}
return $result;
}
echo s42dec(dec2s4(0));
echo s42dec(dec2s4(10));
echo s42dec(dec2s4(63));
echo s42dec(dec2s4(64));
echo s42dec(dec2s4(111));
分享到:
相关推荐
2进制、10进制和16进制的相互转换.pdf
进制转换器 16进制10进制2进制相互转换 vb6编写 有需要源代码的请发邮件到namezhou#gmail.com索取
一个自己写的关于16进制与10进制浮点数之间相互转换的VB6例程。
VC++ 中实现进制2进制,10进制,16进制的相互转换.rar
16进制与10进制相互转换的代码,10转16进制,16转10进制,包含源文件与头文件,直接移植后可以使用。
2进制,16进制,10进制相互转化的c++算法 可以实现小数,负数的转化
16进制与10进制数据转换工具,主要用于程序读写PLC,单片机等数据时读取的16进制数据转换成10进制的数,解决初学者的疑惑,数据在单片机或PLC中存储时是以bit、字节为单元存储的,不管是整型数还是浮点数,最终都是...
2进制、10进制和16进制的相互转换[归类].pdf
本程序用C语言实现了二进制和十进制的相互转换,适于C语言初学者作参考
需要一个二进制与BASE64相互转换的函数,从网上找了几个,或者是错的,或者不输出长度,待转的二进制串中有可能出现00截断,因此不能直接以strlen来计算长度,所以我引用网上的一个可用代码后加以修改,变成现在的...
主要实现二进制和十进制的数字转换的源代码,void CharToHex(char * dest, char * buffer , int len)中实现了字母间的二进制转换
16进制与有符号10进制间的相互转换,支持16进制数转换为有符号10进制数,或将有符号10进制转换为16进制数,可选包含1、2、4、8字节。
汇编十进制与二进制的相互转换代码,源代码文件
【基础算法】-python二进制与十进制的相互转换 # 二进制转换十进制方法一: def BtoD(n): d=0 power=0 while n>0: d+=2**power*(n%10) n//=10 power+=1 return d num=int(input('请输入一个二进制数字:')) ...
PHP中进制之间的相互转换 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例主要使用PHP 7中的进制转换函数decbin()、bindec()、dec...
二进制 八进制 十进制 十六进制 相互转换 jar 含源代码 运行前安装JRE先,下载地址: http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jre-6u29-windows-i586.exe 本程序用Java编写,适合java爱好者使用
MFC实现10进制、2进制、16 进制和ASCII码间的相互转换
winform c# 进制转换 2进制 8进制 10进制 16进制 任意相互转换
十六进制字符串和数值相互转换。c++ 写的dll函数
十六进制数和十进制数相互转换 汇编课设,有源代码,有报告,超全~~~