0

0

php基础教程

巴扎黑

巴扎黑

发布时间:2016-11-21 10:47:16

|

1545人浏览过

|

来源于php中文网

原创

详解:二进制、八进制、十进制、十六进制相互转换 一、 十进制与二进制之间的转换 
  (1) 十进制转换为二进制,分为整数部分和小数部分 
  ① 整数部分 
  方法:除2取余,逆序排列,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 
  例:将十进制的168转换为二进制 
  得出结果 将十进制的168转换为二进制,(10101000) 
  第一步,将168除以2,商84,余数为0。 
  第二步,将商84除以2,商42余数为0。 
  第三步,将商42除以2,商21余数为0。 
  第四步,将商21除以2,商10余数为1。 
  第五步,将商10除以2,商5余数为0。 
  第六步,将商5除以2,商2余数为1。 
  第七步,将商2除以2,商1余数为0。 
  第八步,将商1除以2,商0余数为1。 
  第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 
  (2) 小数部分 
  方法:乘2取整,顺序排列,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 
  为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 
  例1:将0.125换算为二进制 
  得出结果:将0.125换算为二进制(0.001)2 
  分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 
  第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 
  第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 
  第四步,读数,从第一位读起,读到最后一位,即为0.001。 
  例2,将0.45转换为二进制(保留到小数点第四位) 
  大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。 
  那么,我们可以得出结果将0.45转换为二进制约等于0.0111 
  上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是: 
  1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换 
  2) 当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法 
  3) 注意他们的读数方向 
  因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。 
  (3) 二进制转换为十进制 不分整数和小数部分 
  方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例 
  将二进制数101.101转换为十进制数。 
  得出结果:(101.101)2=(5.625)10 
  大家在做二进制转换成十进制需要注意的是 
  1) 要知道二进制每位的权值 
  2) 要能求出每位的值 
  二、 二进制与八进制之间的转换 
  首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这 
  关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。 
  接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。 
  (1) 二进制转换为八进制 
  方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例 
  ①将二进制数101110.101转换为八进制 
  得到结果:将101110.101转换为八进制为56.5 
  ② 将二进制数1101.1转换为八进制 
  得到结果:将1101.1转换为八进制为15.4 
  (2) 将八进制转换为二进制 
  方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。例: 
  ① 将八进制数67.54转换为二进制 
  因此,将八进制数67.54转换为二进制数为110111.101100,即110111.1011 
  大家从上面这道题可以看出,计算八进制转换为二进制 
  首先,将八进制按照从左到右,每位展开为三位,小数点位置不变 
  然后,按每位展开为22,21,20(即4、2、1)三位去做凑数,即a×22+ b×21 +c×20=该位上的数(a=1或者a=0,b=1或者b=0,c=1或者c=0),将abc排列就是该位的二进制数 
  接着,将每位上转换成二进制数按顺序排列 
  最后,就得到了八进制转换成二进制的数字。 
  以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是 
  1) 他们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换 
  2) 大家在做添0和去0的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0或者去0,否则将产生错误 
  三、 二进制与十六进制的转换 
  方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解 
  (1) 二进制转换为十六进制 
  方法:取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。 
  ①例:将二进制11101001.1011转换为十六进制 
  得到结果:将二进制11101001.1011转换为十六进制为e9.b 
  ② 例:将101011.101转换为十六进制 
  因此得到结果:将二进制101011.101转换为十六进制为2b.a 
  (2)将十六进制转换为二进制 
  方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。 
  ①将十六进制6e.2转换为二进制数 
  因此得到结果:将十六进制6e.2转换为二进制为01101110.0010即110110.001 
  四、八进制与十六进制的转换 
  方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转 
  五、八进制与十进制的转换 
  (1)八进制转换为十进制 
  方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。 
  例:①将八进制数67.35转换为十进制 
  (2)十进制转换为八进制 
  十进制转换成八进制有两种方法: 
  1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制 
  2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下: 
  ①整数部分 
  方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。 
  ②小数部分 
  方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。 
  例:将十进制数796.703125转换为八进制数 
  解:先将这个数字分为整数部分796和小数部分0.703125 
  整数部分 
  小数部分 
  因此,得到结果十进制796.703125转换八进制为1434.55 
  上面的方法大家可以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样 
  六、十六进制与十进制的转换 
  十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。

如意雅阁o2oMall集市
如意雅阁o2oMall集市

如意雅阁o2oMall集市基于PHP+Mysql开发的电脑访问、手机访问方式数据互融互通,后台涵盖了订单管理、会员管理、推广员、CRM客户管理、营销推广管理、财务管理、统计报表。全面适应020 o2o模式的商城集市整站程序。

下载

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

28

2026.02.28

Golang 工程化架构设计:可维护与可演进系统构建
Golang 工程化架构设计:可维护与可演进系统构建

Go语言工程化架构设计专注于构建高可维护性、可演进的企业级系统。本专题深入探讨Go项目的目录结构设计、模块划分、依赖管理等核心架构原则,涵盖微服务架构、领域驱动设计(DDD)在Go中的实践应用。通过实战案例解析接口抽象、错误处理、配置管理、日志监控等关键工程化技术,帮助开发者掌握构建稳定、可扩展Go应用的最佳实践方法。

23

2026.02.28

Golang 性能分析与运行时机制:构建高性能程序
Golang 性能分析与运行时机制:构建高性能程序

Go语言以其高效的并发模型和优异的性能表现广泛应用于高并发、高性能场景。其运行时机制包括 Goroutine 调度、内存管理、垃圾回收等方面,深入理解这些机制有助于编写更高效稳定的程序。本专题将系统讲解 Golang 的性能分析工具使用、常见性能瓶颈定位及优化策略,并结合实际案例剖析 Go 程序的运行时行为,帮助开发者掌握构建高性能应用的关键技能。

27

2026.02.28

Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

16

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

18

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

2

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

164

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

8

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

309

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 12.8万人学习

XML教程
XML教程

共142课时 | 7.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号