【机组期末速成】计算机的运算方法|进制转换|无符号数与有符号数|数的定点表示与浮点表示|定点运算

  • 🎥 个人主页:深鱼~
  • 🔥收录专栏:计算机组成原理
  • 🌄欢迎 👍点赞✍评论⭐收藏

目录

前言:

一、本章考点总览

 二、考点分析 

1、日常我们采用十进制来表示数据,计算机如何表示?如何进行转换

2、计算机是用来计算的,那它和现实中的计算有何区别?

 3、计算机不好理解符号位,那有没有更好的存储与表示方法?

 4、原码、反码、补码的作用是什么?

 5、计算机中怎么存储小数呢?

 6、设机器字长为8位(含1位符号位),A=+26与A=-26的移位操作运算?

7、设A=0.1011,B=-0.0101,求 A+B

三、真题速通


前言:

最近在备战期末考试,所以本专栏主要是为了备战期末计算机组成原理这门考试,讲的比较浅显,但是都是期末常考的考点和题型,仅限于“期末不挂”的层面

一、本章考点总览

考点考查频率题型
 
进制转换★★★★☆计算题
 
无符号数与有符号数★★★★★填空题/选择题
数的定点表示与浮点表示★★★★★计算题/综合题
定点运算★★★★☆选择题/计算题

 二、考点分析 

1、日常我们采用十进制来表示数据,计算机如何表示?如何进行转换

考点:进制转换

考频:★★★★☆

难度:★★☆☆☆

解析:

进制也就是进位计数制,是人为定义的带进位的计数方法。

对于任何一种进制---X进制,就表示每一位上的数运算时都是逢X进一位。

数码:一组用来表示某种数制的符号,数中每一位的数字

基数:某数制可以使用的数码个数,十进制,基数为十

数位:数码在一个数中所处的位置,从右到左从0开始递增

权:权是基数的幂,表示数码在不同位置上的数值,十进制位数0,位权为 10^0 = 1 

十进制转非十进制-整数

(215)10转二进制--------除基取余法

十进制转非十进制-小数

(0.6875)10转二进制--------乘基取整法

N进制转换为M进制?


2、计算机是用来计算的,那它和现实中的计算有何区别?

考点:无符号数与有符号数

考频:★★★★★

难度:★★★★☆

解析:

机器数和真值:

        真值是指在数值前面用“+”号表示正数,用“-”号表示负数的带符号二进制数

        机器数一个数在计算机中的二进制表示形式。

人和机器有什么区别?

        人脑可以知道第一位是符号位,在计算的时候我们会根据符号位,选择对真值区域的加减。

        对于计算机,加减乘除已经是最基础的运算,要设计的尽量简单,计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂

如何设计的更简单呢?

        将符号位参与运算,并且只保留加法的方法。

        1-1 = 1 + (-1) = 0

引入三种机器存储一个具体数字的编码方式:原码、反码、补码

原码:

符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。

反码:

正数的反码是其本身;

负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

补码:

正数的补码就是其本身;

负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)

[+1] = [0000 0001]原= [0000 0001]反= [0000 0001]补

[-1] = [1000 0001]原= [1111 1110]反= [1111 1111]补


 3、计算机不好理解符号位,那有没有更好的存储与表示方法?

考点:无符号数与有符号数

考频:★★★★★

难度:★★★★☆

解析:
        正15加上负15:15+(-15)=0

        15的二进制为00001111(最高位为符号位),-15的二进制为10001111(最高位为符号位),两者相加等于10011110为-30,与理论结果不符。

        换位思考,时钟10点处要移到7点处,有两种方式,顺时钟9小时,逆时针3小时

        15的原码加-15的反码等于0000 1111+1111 0000=1111 1111为-127(符号位参与计算),只有在1111 1111基础上再加0000 0001才会变成1 0000 0000(去掉最高位,得0),所以可以将反码加1变成补码(符号位不变)


 4、原码、反码、补码的作用是什么?

考点:无符号数与有符号数

考频:★★★★★

难度:★★★★☆

解析:

        原码:

        计算十进制的表达式: 1 - 1 = 0

        1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [1000 0010]原= -2

        原码让符号位也参与计算,显然不正确。这也就是为何计算机内部不使用原码表示一个数。

        为了解决原码做减法的问题, 出现了反码:

        计算十进制的表达式:1 - 1 = 0

        1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]反+ [1111 1110]反= [1111 1111]反= [1000 0000]原= -0

        用反码计算减法,结果的真值部分是正确的。而唯一的问题其实就出现在"0"这个特殊的数值上,虽然人们理解上+0和-0是一样的,但是0带符号是没有任何意义的,而且会有[0000 0000]原和[1000 0000]原两个编码表示0。

         补码,解决0的符号问题以及0的两个编码问题:

        1-1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]补+ [1111 1111]补= [1 0000 0000]补=[0000 0000]补=[0000 0000]原

        注意:进位1不在计算机字长里。

        (-1) + (-127) = [1000 0001]原+ [1111 1111]原= [1111 1111]补+ [1000 0001]补= [1000 0000]补       

         要将正数转成对应的负数,其实只要用0减去这个数就可以了。

        比如,-8其实就是0-8。已知8的二进制是00001000,-8就可以用下面的式子求出:

        00000000

     -00001000

        ---------

        111110000

        不够借,最高位借1

        补码的两个转换步骤完成


 5、计算机中怎么存储小数呢?

考点:数的定点表示与浮点表示

考频:★★★★★

难度:★★★★★

解析:

        计算机不仅需要存储整数,还需要存储小数。由于计算机中并没有专门的部件对小数中的小数点进行存储和处理,所以需要一种规范,使用二进制数据表示小数。

        定点数表示方式

        浮点数表示方式

        定点数:小数点的位置在计算机的存储是约定好的,固定的。一个小数的整数部分和小数部分分别转化为二进制的表示。

        所以在一个8位的计算机中,前5位表示一个小数的整数部分,后3位表示小数部分,小数点默认是第五位后的位置(实际上计算机不会存储小数点,只是大家这么约定)

        一个8位的计算机,整数部分111111十进制最大只能表示为31 ;小数部分0.111 最大只能表示0.875,表示的数据范围太小了。多数计算机并没有选择使用定点数表示小数,而是采用浮点数表示小数。

        计算机中使用浮点数表示小数,类似于以前数学中用科学计数法表示较大的数。

        例如:352.47 = 3.5247 * 10的2次方

        178.125转化为二进制为 10110010.001,又可表示为:1.0110010001 乘以 2的111次方(111是7的二进制表示)

        0110010001 这部分被称作尾数(M)

        111这部分被称作阶码(P)

        正负被称作数符(S): 0表示正数 , 1表示负数。

        那么一个浮点数可以使用三部分表示:数符(S),阶码(P),尾数(M)


 6、设机器字长为8位(含1位符号位),A=+26与A=-26的移位操作运算?

考点:定点运算

考频:★★★★☆

难度:★★★★☆

解析:

定点数运算包括移位、加、减、乘、除

移位:A=+26

 移位:A=-26


7、设A=0.1011,B=-0.0101,求 A+B

考点:定点运算

考频:★★★★☆

难度:★★★★☆

解析:

 加减乘除:

1、加法

        A+B整数:【A】补+【B】补=【A+B】补(mod 2^(n+1))

        A+B小数:【A】补+【B】补=【A+B】补(mod 2)

2、减法: A-B=A+(-B)

        A-B整数:【A-B】补=【A+(-B)】补(mod 2^(n+1))

        A-B小数:【A-B】补=【A+(-B)】补(mod 2)

        补码运算:连同符号位一起相加,符号位产生的进位自然丢掉。

3、乘法:原码


三、真题速通

十进制数125对应的十六进制数是( )

A、7D B、82 C、7A D、7C

答:A


下列不同进制的数中,最大的是( )

A、(0.101)2 B、(0.62)10 C、(0.52)8 D、(0.75)16

答:C


9位原码(含1位符号位)能表示的数据个数是( )

A、10 B、9 C、511 D、512

答:C


在下列有关补码和移码关系的叙述中,( )是不正确的

A、相同位数的补码和移码表示具有相同的数据表示范围

B、零的补码和移码表示相同

C、同一个数的补码和移码表示,其数值部分相同,而符号相反

D、一般用移码表示浮点数的阶,而补码表示定点整数

答:B


真值1011010的原码、反码和补码分别是( )、( )、( )

答: 01011010         01011010         01011010


真值-0.1010的原码、反码和补码分别是( )、( )、( )

答: 1.1010         1.0101         1.0110


真值和机器数的关系是什么?

答:在计算机内部用二进制编码表示的数称为机器数,而机器数真正的值(即原来带有正负号的数)称为机器数的真值


设机器字长为8位(含1位符号位),求-35/64的原码、补码和反码

答:

(- 35/64)=(-100011/1000000)=(-0.1000110)

[x]原=1.1000110

[x]反=1.0111001

[x]补=1.0111010


十进制112.5表示为IEEE754单精度浮点数。

答:转为二进制:1110000.1

        二进制采用类似科学计数法表示:1110000.1 = 1.1100001*26(二的六次方)

小数点后1100001为尾数,6为阶码

        单精度浮点数:4字节、32位。阶码偏移量127(原来8位二进制数有符号二进制表示范围是-127~127,但是IEEE为了不在阶码中引入符号位,在有符号位的二进制基础上加127


 设机器数字长为8位,(含1位符号位),A=15,B=24,用补码求A-B

答:


已知 [ X ]补 = 11011,求[ -X ]补。

答:

[X]补 = 11011;

[X]原 = 10101;

[-X]原 = 00101;

[-X]补 = 00101;


在定点运算中产生溢出的原因是( )。

A、运算过程中最高位产生了进位或借位

B、参加运算的操作数超出了机器的表示范围

C、运算结果超出了机器的表示范围

D、寄存器的尾数太少,不得不舍弃最低有效位

答:C

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

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

相关文章

PolarNet: 一种改进的时实激光雷达点云语义分割网格表示方法

PolarNet介绍 github工程代码:https://github.com/edwardzhou130/PolarSeg 点云语义分割在自动驾驶领域的感知模块占据重要地位, 从多年前基于传统的点云聚类和分割,到近些年基于深度学习的点云语义分割方法, 技术逐渐成熟已经进入实时端到端的阶段. 前有基于球面…

无魔搭+ 函数计算: 一键部署,缩短大模型选型到生产的距离

引言 面对魔搭 ModelScope 社区提供的海量模型,用户希望快速进行选型并生产使用起来,但在此之前,却一定会面临算力管理难、模型部署难等一系列问题,那么能否实现快速把选定的模型部署在云端功能强大的 GPU 上,由云端负…

mybatis之TypeHandler,再也不怕数据库与实体类之间的数据转换问题了

mybatis查询转换实体类问题 TypeHandler示例(数据类型转换,解决科学计数法问题)局部自定义方式全局方式 TypeHandler 类型处理器的基类,MyBatis 中的 TypeHandler 类型处理器用于 JavaType 与 JdbcType 之间的转换;用…

2024,5G-A风起,中兴通讯破浪

对于通信圈而言,2024年最关键的里程碑,当属3GPP R18版本即将冻结。作为5G国际标准化组织,3GPP的意义是推动成员公司、工作组和技术规范的研究,让5G发展更有章法。 放眼整个5G技术的演进,其实大致分为两个阶段。第一阶段…

圆中点算法

中心在原点,半径为 R 的圆的隐式函数方程为 F ( x , y ) x 2 y 2 − R 2 0 F(x, y) x^2 y^2 - R^2 0 F(x,y)x2y2−R20 把像素上的点的坐标代入上述隐式方程 八分法画圆算法 利用坐标轴和与坐标轴夹角 45 度的直线 原理 假设圆弧起点 x 0 x0 x0&#xff0…

ImageProcessing,ComputerVision,DeepLearning中的名词

深度学习,机器学习里有很多名词,它们分别代表什么呢?如下: CV/DL: Computer Vision/Deep Learning 计算机视觉 / 深度学习ML:Machine Learning 机器学习AI: Artificial Intelligence 人工智能ANNs:Artificial Neureal Networks 人工神经网络NN:Neural Network 神经网络…

数模学习02-Matlab基础知识入门

先把matlab下载好。然后你就会发现电脑有少了几十个GB。服啦~ 修改字体 字体真的是太小了,其实我无论是使用什么编辑器我一般都会先改字体,字体在开始中有一个预设,可以修改字体,这样眼睛看着也会舒服一点 命令行窗口的使用 这…

DevOps(开发运维)常用的工具

"DevOps"是"Development"(开发)和"Operations"(运维)两个术语的组合,旨在代表公司应用开发和IT运维团队执行的任务的协作或共享方法。 DevOps描述了采用迭代软件开发、自动化以及可编程…

C语言中的联合体的由来和存储

一、联合体的由来 1.1. 数据类型的不足 C语言中,基本数据类型只有整型、字符型、浮点型等少数几种,无法满足复杂数据类型的需要。 1.2. 数组的限制 虽然数组可以存储多个同类型的数据,但是数组中的元素个数是固定的,无法动态地…

大数据Doris(四十二):使用物化视图

文章目录 使用物化视图 一、​​​​​​​创建物化视图

【负载均衡oj】(四) 运行模块

一.目的 主要负责运行可执行程序。通过文件名就能运行程序。 二.runner run运行模块: 不需要关心运行结果是否正确,只具备基本运行功能并只关心是否运行出错。 一个程序的时候,有三种IO需要关心,标准错误,标准输出&#xff0c…

esp32cam和arduino连接百度云AI识别文字接口识别图片文字

要使用esp32cam和arduino连接百度云AI识别文字接口识别图片文字并将结果打印到串口,你可以按照以下步骤操作: 首先,你需要注册百度云AI平台账号并创建一个文字识别应用。获取到应用的API Key和Secret Key。 在Arduino IDE中安装ESP32和ESP32…

Kubernetes调试终极武器: K8sGPT

K8sGPT结合了GPT的AI能力,为智能化分析和运维Kubernetes集群提供了开箱即用的解决方案。原文: K8s Tools — K8sGPT[1] 随着人工智能和机器学习技术的进步,企业和组织越来越多的探索创新战略,以求利用这些能力来获得竞争优势。 K8sGPT[2]就是…

vue3+luckyexcel+php在线编辑excel文件

开发过程中,需要开发一个在线编辑excel文档的功能,找到了这个合适的组件 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 可以导入文档,预览、编辑、保存、导出等功能,可以满…

Abductive Logical Reasoning on Knowledge Graphs

Q: 这篇论文试图解决什么问题? A: 这篇论文试图解决在知识图谱(Knowledge Graphs, KGs)上进行反推逻辑推理(Abductive Logical Reasoning)的问题。具体来说,论文提出了一个任务:给定一组实体的…

去水印软件哪个好用?用他们就够了

随着数字媒体的发展,越来越多的人开始需要处理带有水印的图片或视频。水印不仅是一种版权保护手段,也常常被用来标记图片或视频的来源。然而,在某些情况下,我们可能需要去除水印以实现更好的使用效果。那么,去水印软件…

机器学习之BP神经网络精讲(Backpropagation Neural Network(附案例代码))

概念 BP神经网络(Backpropagation Neural Network)是一种常见的人工神经网络,它通过反向传播算法来训练网络,调整连接权重以最小化预测输出与实际输出之间的误差。这种网络结构包含输入层、隐藏层和输出层,使用梯度下降算法来优化权重。 结构: BP神经网络(Backpropag…

PCB丝印设计的要求和注意事项有哪些呢?

丝印设计是PCB设计中必不可少的因素,PCB板上丝印通常包括:元器件丝印及位号、板名、版本号、防静电标识、条码丝印、公司LOGO及其他一些标识。接下来,让我们一起看看PCB设计中对于丝印设计的要求。 一、丝印设计要求 丝印字符的字高和字宽之…

使用克魔助手查看IOS游戏FPS的方法详解

查看IOS游戏FPS 摘要 本篇技术博客将介绍如何使用克魔助手工具来查看iOS游戏的帧率(FPS)。通过克魔助手,开发者可以轻松监测游戏性能,以提升用户体验和游戏质量。 引言 在iOS游戏开发过程中,了解游戏的帧率对于优化…

C++游戏引擎中骨骼动画和顶点动画

一.帧/帧时刻 在常见的FPS游戏中,人物的行走,物体的变形等等都是采用动画的方式实现.计算机2D屏幕采用扫描周期的方式定时刷新渲染管线,C程序通过定义帧/帧时刻实现每一帧的渲染,不同的帧衔接起来便是一个完整的动画. Direct3D提供API实现2D屏幕的重绘: D3DDevice->Clear(0,…