超详细进制转换(二进制、八进制、十进制、十六进制)详解

目录

在学习四种进制转换之前先了解一下自种进制的特点

一、整数转换

1、十进制转R进制

 2、R进制转十进制

3、二进制转八进制、十六进制

 4、八进制转二进制

 二、小数转换

 1、十进制转R进制

 2、R进制转十进制


在学习四种进制转换之前先了解一下自种进制的特点

十进制

  • 十进制是Decimal,简写为D
  • 都是以0-9这九个数字组成。

二进制

  • 二进制是Binary,简写为B
  • 由0和1两个数字组成。

八进制

  • 八进制是Octal,简写为O
  • 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。

十六进制

  • 十六进制为Hexadecimal,简写为H
  • 表示方式为0x开头
  • 计数到F后,再增加1个,就进位。
  • 由0-9和A-F组成,英文字母A,B,C,D,E,F分别表示数字10~15。
123456789ABCDEF
123456789101112131415

 接下来开始讲解二进制、八进制、十进制、十六进制之间的相互转换(包括整数和小数)

一、整数转换

1、十进制转R进制

(1)十进制转二进制的原理:十进制数除以2,余数为权位上的数,得到商继续除以2,直到商为0终止,然后反向取余数。

具体实现:

例如(67)10 (1000011)2

将67除以2得商33,余数1。将商(33)作为第二次的被除数一次类推,直到商为0.

(2)十进制转八、十六进制的原理:跟十转二原理一样,十进制数除以8/16,余数为权位上的数,得到商继续除以8/16,直到商为0终止,然后反向取余数。

具体实现:

例758(十进制) 1366(八进制)     951(十进制)→   3B7(十六进制) 

步骤跟十进制转二进制一样。

 

 2、R进制转十进制

方法:把R进制数按权展开、相加即得十进制数。 

​ 

 例题: 1001 0110B = ______ D

如下图所示,答案为150D

例题: 26Q = ______ D

如下图所示,答案为22D

例题: 23daH = ______ D

如下图所示,答案为9178D

3、二进制转八进制、十六进制

 方法:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

 

同理,二进制转十六进制时, 4位二进制数按权展开相加得到1位十六进制数,不足四位补0。

​ 

 4、八进制转二进制

方法:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。 

​ 

同理,十六进制转二进制也是一样的方法 

 二、小数转换

 1、十进制转R进制

方法:十进制小数转换成R进制小数采用“乘R取整,顺序输出”

例题: 0.618D = ______ B(精确到小数点后3位)

如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。

得到结果:0.101B.

 同理十进制转八进制、十六进制也是一样的做法,大家可以尝试做一下例题,熟悉掌握计算流程

例题:10.68D = ______ Q(精确到小数点后3位)

           25.68D = ______ H(精确到小数点后3位)

答案:12.534Q.     19.ae1H

注意:小数进制转换有误差,并不是任何一个十进制小数都能转成有限为的R进制数

 2、R进制转十进制

方法:把R进制数按权展开、相加即得十进制数。(具体操作如下)

小数转换跟普通转换类似,小数点后幂次就变成了负的。 

以上就是常用的进制转换,有错误的地方希望大家能批评指正,别忘了点赞👍+收藏⭐️哦 

      😜  关注我!带来等多精彩🎉🎉

 

  • 146
    点赞
  • 828
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
二进制八进制:使用 PHP 内置函数 decoct(),将二进制数转换为十进制数,再将十进制数转换为八进制数。例如,将二进制数 11010 转换为八进制数,步骤如下: 1. 将二进制数 11010 转换为十进制数,使用 bindec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为八进制数,使用 decoct() 函数,得到八进制数 32。 因此,二进制数 11010 转换为八进制数为 32。 二进制十六进制:使用 PHP 内置函数 dechex(),将二进制数转换为十进制数,再将十进制数转换为十六进制数。例如,将二进制数 11010 转换为十六进制数,步骤如下: 1. 将二进制数 11010 转换为十进制数,使用 bindec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为十六进制数,使用 dechex() 函数,得到十六进制数 1A。 因此,二进制数 11010 转换为十六进制数为 1A。 八进制二进制:使用 PHP 内置函数 decoct(),将八进制数转换为十进制数,再将十进制数转换为二进制数。例如,将八进制数 32 转换为二进制数,步骤如下: 1. 将八进制数 32 转换为十进制数,使用 octdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为二进制数,使用 decbin() 函数,得到二进制数 11010。 因此,八进制数 32 转换为二进制数为 11010。 八进制十进制:使用 PHP 内置函数 octdec(),将八进制数转换为十进制数。例如,将八进制数 32 转换为十进制数,直接使用 octdec() 函数,得到十进制数 26。因此,八进制数 32 转换为十进制数为 26。 八进制十六进制:使用 PHP 内置函数 decoct(),将八进制数转换为十进制数,再将十进制数转换为十六进制数。例如,将八进制数 32 转换为十六进制数,步骤如下: 1. 将八进制数 32 转换为十进制数,使用 octdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为十六进制数,使用 dechex() 函数,得到十六进制数 1A。 因此,八进制数 32 转换为十六进制数为 1A。 十六进制二进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数,再将十进制数转换为二进制数。例如,将十六进制数 1A 转换为二进制数,步骤如下: 1. 将十六进制数 1A 转换为十进制数,使用 hexdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为二进制数,使用 decbin() 函数,得到二进制数 11010。 因此,十六进制数 1A 转换为二进制数为 11010。 十六进制八进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数,再将十进制数转换为八进制数。例如,将十六进制数 1A 转换为八进制数,步骤如下: 1. 将十六进制数 1A 转换为十进制数,使用 hexdec() 函数,得到十进制数 26。 2. 将十进制数 26 转换为八进制数,使用 decoct() 函数,得到八进制数 32。 因此,十六进制数 1A 转换为八进制数为 32。 十六进制十进制:使用 PHP 内置函数 hexdec(),将十六进制数转换为十进制数。例如,将十六进制数 1A 转换为十进制数,直接使用 hexdec() 函数,得到十进制数 26。因此,十六进制数 1A 转换为十进制数为 26。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱躺平的威威

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值