PHP里的进制
1.进制转换函数:
<?php
function decto_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; //$arr[$num%$bin]=$arr[12];
$num=floor($num/$bin); //floor()向下获取最接近的整数
}
$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;
} print_r(decto_bin(array(12),16));
?>
PHP里的进制的更多相关文章
- Java里进制转换(二进制、八进制、十进制、十六进制)
// 十进制转其它进制(二进制,八进制,十六进制) int k = 17; System.out.println(Integer.toBinaryString(k));// 转二进制 System.o ...
- Codeforces 984 扫雷check 欧几里得b进制分数有限小数判定 f函数最大连续子段
A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...
- SQL Server 进制转换函数
一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...
- js 不同进制之间相互转换
如果a进制与b进制都不等于10,则十进制作为桥梁进行转换 例如 10进制的数字11 转换为3进制为102 10进制的数字11 转换为4进制为23 现在进行3进制转4进制 1.3进制转10进制 2.10 ...
- 对bit、byte、TByte、Char、string、进制的认识
在学校老师就教1byte = 8bit,一个Byte在内存中占8个房间.每个房间都有门牌号.找到内存中的内容就找门牌号,寻址什么的,虽然在听,但是脑袋里一头雾水,到现在只知道会用就行,但原理也不是那么 ...
- C# 进制转换 (没有数值的长度限制)
曾经在大学时做过一个c的进制转换算法,那时由于技术的局限性,数值的大小受到限制(系统数据类型长度限制),多年以后,自己那台学习机陈旧后感觉要报废了,整理了一下里面的东西,偶尔在一个角落里发现了这个转换 ...
- noip2006 2^k进制数
设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w ...
- Python 学习之进制与编码
进制 日常生活中,我们最熟悉的数据就是十进制计数.它的数值部分由十个不同的数字符号0.1.2.3.4.5.6.7.8.9来表示,我们把这些数字符号叫做数码,表示十种不同的状态.数码处于不同的位置(或数 ...
- java 13-4 Integer和String、int之间的转换,进制转换
1.int类型和String类型的相互转换 A.int -- String 推荐用: public static String valueOf(int i) 返回 int 参数的字符串表示形式. B. ...
随机推荐
- Django——ContentType(与多个表建立外键关系)及ContentType-signals的使用
一.ContentType 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的 ...
- 在sublime中使用cppcheck
要想在sublime中使用cppcheck很简单,只需要安装两个插件就可以了:Sublimelinter 和 Sublimelinter-cppcheck 安装完成后在Sublimelinter的配置 ...
- 首次运行tensorflow-gpu 1.0 报错 failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
发现博客: https://blog.csdn.net/u010752600/article/details/79534910 于是找到解决方法. sudo rm -rf ~/.nv/
- .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
.NET/C# 程序从 Main 函数开始执行,基本上各种书籍资料都是这么写的.不过,我们可以写多个 Main 函数,然后在项目文件中设置应该选择哪一个 Main 函数. 你可能会觉得这样没有什么用, ...
- java编程排序之自定义类型的集合,按业务需求排序
自定义引用类型放入集合中,按实际业务需求进行排序的两种思路 第一种思路: (1)自定义实体类实现java.lang.Comparable接口,重写public int compareTo(Object ...
- FastAdmin 开发第四天:初试命令行
FastAdmin 最强大的是命令行 先从 test 表开始. 在 FastAdmin 默认有一个 test 表格,用于命令行 crud 测试. 如何开始? 只需要在项目命令行中输入以下命令就会自动生 ...
- bzoj 1002 [FJOI2007]轮状病毒——打表找规律
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1002 看 Zinn 的博客:https://www.cnblogs.com/Zinn/p/9 ...
- Linux下Moodle平台的快速安装方案
一种快速安装与配置Moodle平台的方案,基本步骤: 1.选择与安装Linux系统 2.配置网络,开启shh和网络端口 3.一键安装集成环境(使用oneinstack方案) 4.服务器配置,端口和PH ...
- SQL中禁用trigger
SQL中禁用所有trigger 编写人:CC阿爸 2014-6-15 在日常SQL数据库的操作中,如何快速的禁用所有trigger? --禁用某个表上的所有触发器 ALTER
- ACM-Teleportation
我的代码: #include <bits/stdc++.h> using namespace std; int main() { int a,b,x,y; cin>>a> ...