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

简介: (二进制、八进制、十进制、十六进制)详解

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

十进制

  • 十进制是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。
1 2 3 4 5 6 7 8 9 A B C D E F
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

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

一、整数转换

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进制数按权展开、相加即得十进制数。(具体操作如下)

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

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

相关文章
十进制转二、十六进制
十进制转二、十六进制
44 0
|
1月前
十进制转换为八进制
【10月更文挑战第27天】十进制转换为八进制。
90 23
|
1月前
二进制转换为十进制
【10月更文挑战第27天】二进制转换为十进制。
87 8
|
1月前
二进制转换为八进制
【10月更文挑战第27天】二进制转换为八进制。
54 7
|
1月前
八进制转换为十进制
【10月更文挑战第27天】八进制转换为十进制。
66 2
|
7月前
|
Python
十进制转二进制、八进制、十
十进制转二进制、八进制、十
二进制、八进制、十六进制
二进制、八进制、十六进制
142 0
十进制转换为2进制
十进制转换为2进制
106 0
十进制转换为2进制
|
机器学习/深度学习
二进制,八进制,十六进制之了解
为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用bin() ,oct() 或hex() 函数
132 0
二进制,八进制,十六进制之了解
|
开发者 Python
二进制转换八进制十六进制以及十进制| 学习笔记
快速学习二进制转换八进制十六进制以及十进制
二进制转换八进制十六进制以及十进制| 学习笔记