首页
学习
活动
专区
圈层
工具
发布
37 篇文章
1
【愚公系列】软考中级-软件设计师 001-计算机系统知识(考点简介)
2
【愚公系列】软考中级-软件设计师 002-计算机系统知识(CPU)
3
【愚公系列】软考中级-软件设计师 003-计算机系统知识(进制转换)
4
【愚公系列】软考中级-软件设计师 004-计算机系统知识(数据的表示)
5
【愚公系列】软考中级-软件设计师 005-计算机系统知识(校验码)
6
【愚公系列】软考中级-软件设计师 006-计算机系统知识(存储系统)
7
【愚公系列】软考中级-软件设计师 007-计算机系统知识(输入输出技术)
8
【愚公系列】软考中级-软件设计师 008-计算机系统知识(计算机体系结构)
9
【愚公系列】软考中级-软件设计师 009-计算机系统知识(总线)
10
【愚公系列】软考中级-软件设计师 010-计算机系统知识(加密技术和认证技术)
11
【愚公系列】软考中级-软件设计师 011-程序设计语言基础知识(考点简介)
12
【愚公系列】软考中级-软件设计师 012-程序设计语言基础知识(概述)
13
【愚公系列】软考中级-软件设计师 013-程序设计语言基础知识(语言处理程序基础)
14
【愚公系列】软考中级-软件设计师 014-数据结构(考点简介)
15
【愚公系列】软考中级-软件设计师 015-数据结构(线性结构)
16
【愚公系列】软考中级-软件设计师 016-数据结构(数组、矩阵和广义表)
17
【愚公系列】软考中级-软件设计师 017-数据结构(树和二叉树概念)
18
【愚公系列】软考中级-软件设计师 018-数据结构(二叉树的分类)
19
【愚公系列】软考中级-软件设计师 019-数据结构(树和森林)
20
【愚公系列】软考中级-软件设计师 020-数据结构(图)
21
【愚公系列】软考中级-软件设计师 021-数据结构(查找算法)
22
【愚公系列】软考中级-软件设计师 022-数据结构(排序算法)
23
【愚公系列】软考中级-软件设计师 023-操作系统(考点简介)
24
【愚公系列】软考中级-软件设计师 024-操作系统(操作系统概述)
25
【愚公系列】软考中级-软件设计师 025-操作系统(进程管理-状态管理和前趋图)
26
【愚公系列】软考中级-软件设计师 026-操作系统(进程管理-信号量PV操作)
27
【愚公系列】软考中级-软件设计师 027-操作系统(进程管理-银行家算法和线程)
28
【愚公系列】软考中级-软件设计师 028-操作系统(存储管理-页式存储)
29
【愚公系列】软考中级-软件设计师 029-操作系统(段式存储和段页式存储)
30
【愚公系列】软考中级-软件设计师 030-操作系统(设备管理)
31
【愚公系列】软考中级-软件设计师 031-操作系统(文件管理)
32
【愚公系列】软考中级-软件设计师 032-操作系统(作业管理)
33
【愚公系列】软考中级-软件设计师 033-软件工程基础(考点简介)
34
【愚公系列】软考中级-软件设计师 034-软件工程基础(概述)
35
【愚公系列】软考中级-软件设计师 035-软件工程基础(过程模型)
36
【愚公系列】软考中级-软件设计师 036-软件工程基础(需求分析)
37
【愚公系列】软考中级-软件设计师 037-软件工程基础(系统设计)

【愚公系列】软考中级-软件设计师 003-计算机系统知识(进制转换)

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。 🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

进制转换是将一个数字从一种进制表示转换为另一种进制表示的过程。在数学和计算机科学中,我们经常使用不同的进制系统来表示整数和小数。常见的进制系统包括二进制(基数为2)、八进制(基数为8)、十进制(基数为10)和十六进制(基数为16)。

要进行进制转换,我们需要了解每种进制系统的表示方法和计算规则。例如,十进制系统是我们日常生活中最常用的进制系统,使用0-9这10个数字。二进制系统则只使用0和1两个数字。

进制转换的方法主要有两种:逐位转换和除法取余法。逐位转换是将数字的每一位分别转换为目标进制的表示,然后组合起来。除法取余法则是通过不断地将数字除以目标进制的基数,并将余数作为结果的一部分,最后倒序排列余数。

进制转换在计算机科学中非常重要,特别是在计算机程序中涉及到二进制和十六进制的表示和操作。同时,进制转换也有助于我们更好地理解数字的概念,以及了解不同进制系统在数学和计算机科学中的应用。

🚀一、进制转换

🔎1.二进制转十进制

🦋1.1 无符号的二进制整数

要将无符号的二进制整数转换为十进制,可以使用以下方法:

  1. 将二进制数从右往左依次编号,从0开始,例如最右边的数编号为0,次右边的数编号为1,依此类推。
  2. 将二进制数的每一位与对应的权值相乘,并将结果相加。
  3. 权值的计算公式为2的n次方,其中n为该位的编号。
  4. 计算结束后,得到的结果即为转换后的十进制数。

例如,将二进制数110101转换为十进制:

  1. 将二进制数从右往左依次编号,得到如下:

5 4 3 2 1 0

1 1 0 1 0 1

  1. 计算每一位与对应权值的乘积,并将结果相加:

1 2^5 + 1 2 ^4 + 0 2^3 + 1 2^2 + 02^1 + 1 2^0 = 32 + 16 + 4 + 1 = 53

因此,将二进制数110101转换为十进制的结果为53。

🦋1.2 带符号的二进制整数

要将带符号的二进制整数转换为十进制,需要注意符号位的处理。

如果二进制整数的最高位为1,则表示为负数。可以通过以下步骤将带符号的二进制整数转换为十进制:

  1. 将二进制整数的最高位(符号位)去除,并记下符号。
  2. 将剩下的二进制数转换为十进制,可以使用方法如下: - 从最低位开始,按权展开法将每位的值与相应的权相乘,并将结果相加。 - 权从0开始,每次增加1。 - 例如,二进制数1010转换为十进制的过程如下: 1 2^0 + 0 2^1 + 1 2^2 + 0 2^3 = 1 + 0 + 4 + 0 = 5
  3. 如果符号位为1,则将结果转换为负数,即将结果加上负号。

以下是一个带符号的二进制整数转换为十进制的示例:

二进制数:1101

  1. 符号位为1,表示为负数。
  2. 去除符号位后的二进制数为101。
  3. 将二进制数101转换为十进制: 1 2^0 + 0 2^1 + 1 * 2^2 = 1 + 0 + 4 = 5
  4. 将结果加上负号,最终结果为-5。

因此,带符号的二进制整数1101转换为十进制为-5。

🦋1.3 小数二进制数

要将小数的二进制数转换为十进制数,可以按照以下步骤进行:

  1. 将小数部分的二进制数从左到右依次编号为-1、-2、-3......以此类推。例如,对于二进制数0.101,小数部分的位数为3,对应的编号为-1、-2、-3。
  2. 将每一位小数部分的二进制数与对应的权重进行相乘。权重的计算方法为2的负幂次方,即权重为2^-1、2^-2、2^-3......以此类推。
  3. 将计算得到的结果相加,即为所求的十进制数。

例如,对于二进制数0.101,进行转换:

0.101 = 1 2^-1 + 0 2^-2 + 1 * 2^-3

= 0.5 + 0 + 0.125

= 0.625

所以二进制数0.101对应的十进制数为0.625。

🔎2.十进制转二进制

🦋2.1 转化整数

转换整数的十进制数值为二进制,可以使用除2取余法。

具体步骤如下:

  1. 将十进制数值除以2,得到商和余数。
  2. 再将商除以2,得到新的商和余数。
  3. 重复上述步骤,直到商为0为止。
  4. 按照从下往上的顺序,依次将得到的余数写在一起,即可得到对应的二进制数值。

举个例子:

将十进制数值15转换为二进制。

  1. 15 ÷ 2 = 7 余 1
  2. 7 ÷ 2 = 3 余 1
  3. 3 ÷ 2 = 1 余 1
  4. 1 ÷ 2 = 0 余 1

从下往上依次写出余数,得到二进制数值1111。所以,十进制数值15转换为二进制数值为1111。

🦋2.2 转化小数

将十进制小数转化为二进制小数的步骤如下:

  1. 将小数部分乘以2,得到的结果的整数部分作为二进制小数的第一位。将得到的小数部分保留,作为下一步计算的基础。
  2. 将上一步得到的小数部分再次乘以2,得出的整数部分作为二进制小数的第二位。将得到的小数部分保留。
  3. 重复以上步骤,直到小数部分为0或者达到所需的精度。

举个例子,我们将十进制小数0.5转化为二进制小数。

0.5 * 2 = 1.0,整数部分为1,小数部分为0.0

0.0 * 2 = 0.0,整数部分为0,小数部分为0.0

所以,0.5的二进制表示为0.1。

另外需要注意的是,如果小数部分无法精确地转化为二进制小数,那么转化过程将会无限循环。在实际应用中,可以根据所需的精度来确定转化的截止条件。

🚀二、题目


我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

下一篇
举报
领券