使用:表示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));
分享到:
相关推荐
本文将深入探讨16进制与10进制浮点数之间的相互转换,以及如何在VB6(Visual Basic 6)环境中实现这一转换过程。 首先,让我们了解浮点数的概念。浮点数是一种可以表示小数的数值类型,它包括一个整数部分、小数...
进制转换器 16进制10进制2进制相互转换 vb6编写 有需要源代码的请发邮件到namezhou#gmail.com索取
### 2进制、10进制和16进制的相互转换 #### 1. 基础概念 在计算机科学中,不同的进制被广泛应用于数据存储和处理之中。其中,二进制(Base-2)、十进制(Base-10)和十六进制(Base-16)是最常用的三种进制。 - *...
而36进制和64进制则扩展了这个范围,36进制中包含0到9的数字以及A到Z的大写字母(代表10到35),64进制除了这些之外还加入了小写字母a到z(代表36到61)和加号"+"、斜线"/"、下划线"_"(代表62到64)。 要实现这些...
本主题将详细讲解如何使用MFC来实现10进制、2进制、16进制以及ASCII码之间的相互转换。这些转换在数据处理、网络通信、内存表示等方面具有广泛的应用。 首先,10进制是我们日常生活中最常用的数字系统,而2进制和16...
通过理解和掌握16进制与10进制之间的转换,不仅可以提升编程技能,也有助于深入理解计算机内部的数值表示和处理机制。在实际开发中,这是一项非常实用的技能,能够帮助解决各种与数据表示和转换相关的问题。
本文将深入探讨如何使用C++实现二进制(Binary)、十六进制(Hexadecimal)和十进制(Decimal)之间的相互转换,同时涵盖小数和负数的处理。 一、十进制与二进制转换 1. 十进制转二进制:可以采用除2取余法。将十...
### VC++ 中实现二进制、十进制与十六进制的相互转换 #### 概述 在计算机科学中,二进制(base-2)、十进制(base-10)与十六进制(base-16)是三种常用的数字表示方法。二进制由0和1组成,是计算机系统内部使用的...
本程序用C语言实现了二进制和十进制的相互转换,适于C语言初学者作参考
需要一个二进制与BASE64相互转换的函数,从网上找了几个,或者是错的,或者不输出长度,待转的二进制串中有可能出现00截断,因此不能直接以strlen来计算长度,所以我引用网上的一个可用代码后加以修改,变成现在的...
主要实现二进制和十进制的数字转换的源代码,void CharToHex(char * dest, char * buffer , int len)中实现了字母间的二进制转换
【基础算法】-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('请输入一个二进制数字:')) ...
经典的c语言的代码程序——进制间的转换,用vc++6.0写的各种进制之间的转换。
16进制与10进制数据转换工具,主要用于程序读写PLC,单片机等数据时读取的16进制数据转换成10进制的数,解决初学者的疑惑,数据在单片机或PLC中存储时是以bit、字节为单元存储的,不管是整型数还是浮点数,最终都是...
文档《十进制小数和二进制小数相互转换》为初学者提供了一种理解转换过程的方法。由于转换涉及整数和小数部分,下面详细阐述每个部分的转换知识点。 一、十进制小数转换为二进制小数 1. 整数部分转换成二进制:...
16进制和rgba、rgb颜色的相互转换,例如#fffff可转换成rgba(255,255,255,1),或者rgba(255,255,255)。可自定义透明度。
16进制与有符号10进制间的相互转换,支持16进制数转换为有符号10进制数,或将有符号10进制转换为16进制数,可选包含1、2、4、8字节。
通过理解并熟练掌握二进制与ASCII码的相互转换,你可以更好地进行底层编程和数据处理。在C语言的学习过程中,实践这些操作是非常有益的,可以帮助你深入理解计算机内部的工作原理。以上所述只是基础,更复杂的字符...
sql 2005 十六进制转换十进制.sql 各进制之间的相互转化
- **十六进制与十进制基础知识**:了解二者的定义及相互转换的基本原理。 - **SQL字符串函数**:熟悉`SUBSTRING`、`REPLACE`等函数的使用方法及其参数。 - **SQL数学函数**:了解`POWER`函数的用法及其它相关数学...