【软考中级攻略站】-软件设计师(1)-数值及其转换和数据表示

news2024/9/19 10:46:33

进制转换

n进制->十进制

步骤说明:

  1. 识别基数:首先确认你正在处理的是n进制数,这里的n就是该数的基数。

  2. 数位权重:从右向左数,每个位置上的数字都有一个权重,最右边的位置权重为0,依次向左递增。

  3. 计算值:将每个位置上的数字乘以基数的相应幂次方,然后将所有的结果相加起来。

假设有一个n进制数 dn dn-1 ... d2 d1 d0,其中每个di代表该位置上的数字(范围通常是0到n-1),那么该数转换为十进制的结果为:

十进制数=d0×n^0+d1×n^1+d2×n^2+⋯+dn×n^n

示例:

假设我们要将一个十六进制(基数为16)的数1A3转换成十进制:

  • 从右往左,第一位(个位)是3,权重为0,因此其值为3×16^0=3
  • 第二位(十位)是A(十六进制中的A等于十进制中的10),权重为1,因此其值为10×16^1=160
  • 第三位(百位)是1,权重为2,因此其值为1×162=256

将这些值相加,得到:

3+160+256=419

十进制转n进制

步骤说明:

  1. 初始化:准备一个空列表用于存储转换过程中产生的余数。

  2. 不断除以n:将十进制数除以n,记录下余数,并将结果(即商)作为新的被除数继续除以n。

  3. 重复步骤2:一直重复此过程,直到被除数变为0。

  4. 收集余数:每次除法后得到的余数都存入列表中。

  5. 倒序输出:最后将列表中的余数倒序输出,就得到了n进制的表示形式。

示例:

假设我们要将一个十进制数419转换成十六进制(基数为16):

  • 419÷16=26 余 3 -> 记录余数3
  • 26÷16=1余 10 -> 记录余数10 (十六进制中表示为A)
  • 1÷16=0 余 1 -> 记录余数1

此时,商为0,停止运算。收集所有余数并逆序排列得到1A3

因此,十进制数419转换为十六进制后的结果是1A3

真值与机器数

真值:符合人类习惯的数字

例子:15 -> 1111

           8 -> 1000

机器数:正负号要被数字化

例子:+15 -> 0 1111

           -8 -> 1 1000

原码:数值部分表示真值的绝对值,符号位 0/1 -> 正/负

反码:若符号位为0,则反码=原码;若为1,则全部位取反

补码:正数的补码=原码,负数的补码=反码末位+1(要考虑进位)

移码:在补码的基础上将符号位取反(只能表示整数)

例子:

x=+19D时

[x]原=0,0010011

[x]反=0,0010011

[x]补=0,0010011

[x]移=1,0010011

x=-19D时

[x]原=1,0010011

[x]反=1,1101100

[x]补=1,1101101

[x]移=0,1101101

真值0

[+0]原=00000000

[+0]反=00000000

[-0]原=10000000

[-0]反=11111111

[+0]补=[-0]补=00000000

[+0]移=[-0]移=10000000

定点数and浮点数

定点数 (Fixed-point number)

定点数是一种用来表示实数的数据类型,其中小数点的位置是固定的。在计算机内存中,它通常被存储为整数,而小数点的位置由编程者或硬件设计者事先确定。

优点:

  • 简单且计算速度快,因为它们可以使用标准的整数运算。
  • 在嵌入式系统和实时应用中非常有用,特别是在资源受限的环境中。

缺点:

  • 小数点位置固定限制了其表示范围和精度。

浮点数 (Floating-point number)

浮点数是一种能够表示更大范围数值的数据类型,包括非常大或非常小的数值。它通过使用一个可变的小数点位置来实现这一点,该位置由一个指数(Exponent)来控制。浮点数在计算机内存中的存储通常遵循IEEE 754标准,其中包括一个符号位、一个指数部分和一个尾数(Mantissa或Fraction)部分。

优点:

  • 能够表示非常大的数以及非常接近零的小数。
  • 灵活性高,适用于广泛的数学和科学计算。

缺点:

  • 计算速度相对较慢,因为需要额外的硬件支持来进行浮点运算。
  • 存在精度损失的问题,尤其是在进行一系列运算之后累积误差可能变得显著。

校验码

确保数据在传送过程中正确无误:

(1)提高硬件电路可靠性

(2)提高代码的校验能力

校验码:用来检测传送数据是否出错

码距:指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同

奇偶校验

循环冗余校验

海明码

方法:在数据位之间插入k个校验码,通过扩大码距来实现检错纠错

设数据位n位,校验码k位,需满足:2^k-1>=n+k

位运算

与运算(AND)

与运算符通常用 & 表示。对于两个比特(0 或 1),与运算的结果如下:

ABA & B
000
010
100
111

规则:当且仅当两个比特都为1时,结果才为1。否则,结果为0。

或运算(OR)

或运算符通常用 | 表示。对于两个比特,或运算的结果如下:

ABAB
000
011
101
111

规则:只要有一个比特为1,结果就为1。只有当两个比特都为0时,结果才为0。

异或运算(XOR)

异或运算符通常用 ^ 表示。对于两个比特,异或运算的结果如下:

ABA ^ B
000
011
101
110

规则:当两个比特不同时,结果为1;当两个比特相同时,结果为0。

练习题:

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2098184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JUC】10-Java内存模型JMM

1. JMM 通过JMM来实现和主内存之间的抽象关系。屏蔽各个硬件平台和操作系统的内存访问差异以实现让Java程序在各种平台下都能达到一致的内存访问效果。 三大特性:原子性:互斥,同时成功或失败。有序性:指令重排序后有序。可见性&a…

MySQL递归获取商品分类以及所有下级分类商品

现在就是我们有一张商品表,还有一张分类表,商品表有一个字段用来记录当前商品分类id的,然后查询时候因为分类是有层级的,如果我们想通过顶层分类获取到它和所有子类的商品时就会需要用到MySQL的递归查询了。 首先是针对 MySQL 8.…

NCMMSC-CNVSRC 2024视觉语音识别竞赛圆满落幕

8月16日上午,NCMMSC-CNVSRC 2024 学术研讨会在乌鲁木齐召开的第十九届全国人机语音通讯学术会议(NCMMSC 2024)上举行。会上公布了本次视觉语音识别竞赛 CNVSRC 2024 的最终结果,并举行了颁奖仪式。 本次竞赛由 NCMMSC 2024 组委会…

springboot+vue 进销存管理系统

springbootvue 进销存管理系统 相关技术springbootmybatismysqlmavenvueelementui

ANet-1E1S1智能网关:物联网时代的能源计量新纪元,断点续传引领高效运维

在万物互联的物联网时代,数据的精准采集与高效传输成为了推动各行业智能化转型的关键。ANet-1E1S1以其断点续传技术与强大的RS485接口智能通信管理能力,为水、电、气、油等多领域能源管理带来了便捷与效率的提升。基于嵌入式Linux平台的通用型智能通信管…

高经费打造的史诗级视觉盛宴,惊叹于每一帧的奢华

8月29日,备受期待的《指环王:力量之戒》第二季终于上线了。这一季一上架就放出了三集,立刻引发了影迷们的热烈讨论。 自从2022年首季首播以来,《指环王:力量之戒》就一直备受瞩目。尽管首季受到了不少争议,…

【开源大模型生态2】数据、算力、算法,越来越猛!

人工智能(A)的快速发展依赖于三个核心要素:数据,算法,算力。这个观点已经得到了业界的高度认可。只有这三个要素同时满足了才能加速人工智能的大发展。随着人工智能大模型规模变大以及普及应用,人工智能对能源的需求也在不断加大,…

linux文件——文件系统与内存管理——理解打开文件, 写入数据与文件系统的关系

前言:本节课算是一点文件系统的补充内容。 但是说是文件系统的补充内容,其实我们也可以把这篇文章当作linux下的内存管理的文章来看待。 因为博主会从内存管理的角度, 将进程打开文件、写入数据的流程, 以非常底层的角度&#xff…

【C++】汇编分析,函数是如何调用,传参,返回

传参 有的是用寄存器传参,有的用push传参 我在MSVC编译测出来的是PUSH传参(debug模式),具体过程如下 long func(long a, long b, long c, long d,long e, long f, long g, long h) {long sum;sum (a b c d e f g h);ret…

护栏碰撞监测系统的发展前景如何?

​ ​护栏碰撞监测系统的发展前景可谓十分广阔,主要体现在以下几个方面: ​ ​一、交通领域需求持续增长 ​ ​1. 道路建设不断拓展 ​ ​●在全球范围内,公路、高速公路以及城市道路等基础设施持续处于新建与扩建的进程之中。以…

再也不用来回切换了,多微同一界面聚合聊天

手上有多个微信,工作时经常要来回切换登录,才能处理聊天和发圈等工作,来回切换不但容易导致号的状态存在异常,还会浪费很多时间登录,忙的时候还可能会导致处理不及时。 今天必须要给你们分享这个超棒的东西&#xff0…

如何写接口自动化测试断言?

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 你真的会写自动化测试断言吗? 在接口测试中,断言是一项非常重要的操作,它是用来校验接口返回结果是否符合预期的一种手段。…

OLED显示屏详解(IIC协议0.96寸 STM32)

目录 一、介绍 二、模块原理 1.原理图 2.工作原理:SSD1306显存与命令 三、程序设计 main.c文件 oled.h文件 oled.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 OLED是有机发光二极管,又称为有机电激光显示(Organic Electrol…

惊人发现:clickhouse的cpu暴增之谜

点/击/蓝/字 关/注/我/们 一、背景 前段时间,公司的生产环境的clickhouse的cpu突然持续高压,持续时间大约5个小时,特写此文记录,深挖clickhouse的原理,持续学习。 题主所在的公司的一些历史数据会保存到clickhouse中…

基于php的公司员工管理系统—计算机毕业设计源码25190

摘 要 公司公司员工管理系统除了具有共享系统的全部功能以外,能通过对数据的分析对决策做出解释是其主要的新特点。其体系结构,将由专用的服务器/客户方式向广域网发展,使更多的系统间能够互相交流数据,带动整个行业、领域知识和效…

如何解决前端跨域问题:从CORS到JSONP

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介如何解决前端跨域问题:从CORS到JSONP1. 引言2. 什么是跨域问题?2.1 同源策略(Same-Origin Policy)2.2 跨域请求的场景 3. 解决跨域问题的常见方法3.1 使用CORS(Cross-Orig…

实在智能联合案例入选中国信通院2024年度高质量数字化转型案例集

为推动数字化转型相关产业发展,培育数据要素市场,为数字化双方提供行业实践标杆参考,中国信通院铸基计划于2024年4月初启动高质量数字化转型典型案例征集工作,旨在遴选一批具有产业引领与推广应用效应的企业数字化转型典型案例。实…

【MySQL】Explain执行计划(十七)

🚗MySQL学习十七站~ 🚩本文已收录至专栏:MySQL通关路 ❤️每章节附章节思维导图,文末附全文思维导图,感谢各位点赞收藏支持~ ⭐学习汇总贴,超详细思维导图:【MySQL】学习汇总(完整思维导图) 一.…

[python]面向对象示例:学生管理系统

python面向对象 python基础知识整理 主要界面 建议跟着框架自行完成功能需求,最下面有完整带注释版本,学生信息会存到当前目录下data.txt文本中,没有则会自行创建 涉及到的知识点 面向对象列表, 字典for, if, input…文件操作 需求分析 开始 -> 循环调用主程序 ->不…