进制转换| 学习笔记

简介: 快速学习进制转换。

开发者学堂课程【PHP 基础入门课程(上) :进制转换】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/709/detail/12591


进制转换

 

内容简介:

一、目标

二、概念

三、二进制转八进制或者十六进制

四、小结

 

一、目标

了解进制的原理,知道 PHP 中有进制转换的快捷函数。

 

二、概念

进制转换:

是指根据不同的进制要求,将原始数值(通常指整数)转换成目标进制。

•二进制与十进制互转

•二进制与八进制互转

•二进制与十六进制互转

•八进制与十进制互转

•八进制与十六进制互转

•十进制与十六进制互转

首先知道原始数据及其进制

从左往右依次编号:0开始

图片1.png

转换方案

1. 按位取出当前值

2. 找到当前对应的编号:如2

3、找到原始进制:如8进制

4、计算:值*进制^编号(幂)

5、所有位数求出后求和

求和3+16+64=83

 

三、二进制转八进制或者十六进制

•二进制转八进制:从右边开始依次取三位转换成十进制,将所有结果合并即可(三位二进制最大7二进制转八进制或者十六进制工

•二进制转八进制:从右边开始依次取三位转换成十进制,将所有结果合并即可(三位二进制最大7:111=>7)11111111=>11,111,111=>3,7,7=>377

•二进制转十六进制:从右边开始依次取四位转换成十进制,将所有结果合并即可(四位二进制最大15:111=>15==F)11111111=>1111,1111=>F,F=>FF

•八进制转二进制:每位数转换成三位的二进制,将所有结果合并即可

123=>1,2,3=>001,010,011=>00101011=> 101011(左侧的0可以忽略)

·十六进制转二进制:每位数转换成四位的二进制,将所有结果合并即可

123=>1,2,3=>0001,0010,0011 => 000100100011 => 100100011111=>7)11111111=>11,111,111=>3,7,7=>377

•二进制转十六进制:从右边开始依次取四位转换成十进制,将所有结果合并即可(四位二进制最大15:111=>15==F)11111111=>1111,1111=>F,F=>FF

•八进制转二进制:每位数转换成三位的二进制,将所有结果合并即可

123=>1,2,3=>001,010,011=>00101011=> 101011(左侧的0可以忽略)

•十六进制转二进制:每位数转换成四位的二进制,将所有结果合并即可

123=>1,2,3=>0001,0010,0011 => 000100100011 => 100100011

简化

在 PHP 中,已经考虑到业务的需求,所以 PHP 提供了一系列函数来实现各类进制转换,以十进制为基准

•bindecI 二进制转十进制

•decbin:十进制转二进制

•decoct:十进制转八进制

•octdec:八进制转十进制

•dechex:十进制转十六进制

•hexdec:十六进制转十进制

#示例:十六进制转十进制

hexdec(' 123'); #结果:291

 

四、小结

1、进制转换原理可以以10进制为基准互转

2、PHP 提供了一套以十进制为基准的转换函数,利用十进制与其他进制组合成单词即可实现函数转换

•八进制:oct

•十进制:dec

•十六进制:hex

•二进制:bin

相关文章
|
11月前
|
存储 分布式计算 负载均衡
分布式计算模型和集群计算模型的区别
【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
393 62
|
缓存 Java
Java本地高性能缓存实践问题之Caffeine缓存库中时间设置的问题如何解决
Java本地高性能缓存实践问题之Caffeine缓存库中时间设置的问题如何解决
252 0
|
存储 SQL 网络协议
ClickHouse(05)ClickHouse数据类型详解
ClickHouse是一款分析型数据库,支持基础、复合和特殊数据类型。基础类型包括数值(Int、Float、Decimal)、字符串(String、FixedString、UUID)和时间(DateTime、DateTime64、Date)类型。数值类型如Int8-64和Float32-64,Decimal提供高精度计算。字符串中的FixedString有固定长度,UUID作为主键。时间类型最高精度到秒。复合类型有数组、元组、枚举和嵌套,其中数组和元组允许不同数据类型,枚举节省空间,嵌套类型是多维数组结构。特殊类型如Nullable表示可为空,Domain封装IPv4和IPv6。
929 1
ClickHouse(05)ClickHouse数据类型详解
|
供应链 安全 物联网
未来已来:新兴技术的趋势与应用探索
【6月更文挑战第3天】随着科技的迅猛发展,新兴技术如区块链、物联网(IoT)、虚拟现实(VR)等正逐步渗透到我们生活的方方面面。本文将探讨这些技术的发展趋势和潜在应用场景,旨在揭示它们如何塑造未来的工作、生活和娱乐方式。
97 2
|
弹性计算 数据中心
阿里云香港服务器cn2线路怎么样?贵吗?
阿里云香港服务器cn2线路怎么样?贵吗?阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器
|
数据采集 DataWorks 监控
DataWorks产品使用合集之如何判断资源组的数据源是否已经打通内网
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
532 0
|
缓存 Linux 内存技术
小议CPU缓存一致性协议MESI
你有没有听过缓存一致性协议?你是否了解CPU中的高速缓存?本文带你揭秘,从CPU的视角来看待并发编程。
461 0
小议CPU缓存一致性协议MESI
|
运维 Linux 网络安全
2.3 为什么建议使用虚拟机来安装Linux?
笔者认为,通过虚拟机软件学习是初学者学习 Linux 的最佳方式。
370 0
2.3 为什么建议使用虚拟机来安装Linux?
|
C语言
符号配对 (20 分)
符号配对 (20 分)
279 0

热门文章

最新文章