热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

备战软考(1)计算机组成原理之数据表示

众所周知,计算机是由硬件和软件组成,其中硬件系统主要由运算器,控制器,存储器,输入设备和输出设备5大部分组成,将运算器和控制器集成在一块芯片上,就构成了我们熟悉CPU.但是我们今天要讨

     众所周知,计算机是由硬件和软件组成,其中硬件系统主要由运算器,控制器,存储器,输入设备和输出设备5大部分组成,将运算器和控制器集成在一块芯片上,就构成了我们熟悉CPU.但是我们今天要讨论不是这些玩意儿,而是在计算机内部数据和文字的表示方法,你可能马上会想:这还用讨论么,不就是一些数字和英文字母嘛!非也,我只能说你图样图森破!

     接触过的人都知道,我们所使用的计算机只认识01,其他的一概不认识,中文,英文,梵文神马的全都靠边儿站,根本不鸟他们。那我们看到的13145201314数字串以及各种文字是如何表示呢?这是值得每个学习计算机技术的人思考和研究的问题。

     先来了解最简单的数字吧。各种数值在计算机中表示的形式称为机器数,也叫做机器码,采用二进制计数制,数的符号用01表示,小数点则隐含表示而不占用实际位置。机器数对应的实际数值大小称为数的真值。

 

数据格式

 

1定点数

     顾名思义,就是约定机器中的所有数据的小数点的位置是固定不变的。由于约定了小数点的位置,因此就不再使用实心点“.”来表示了。理论上讲,小数点位置固定在哪一位偶可以,但是通常将数据表示成纯小数或者纯整数。




     定点数表示数的范围受字长限制,表示数的范围有限,且精度也有限,因此在机器中,常用定点纯整数表示


2浮点数

     鉴于浮点数所能表示的数值范围比较小,而且运算中很容易因为结果超出范围而溢出,于是引入了浮点数,即小数点位置不固定的数,其所能表示的数的范围更大。

     浮点数的表示格式如下:


         IEEE 754是由IEEE制定的有关浮点数的工业标准,被广泛采用。其标准的表示形式如下:


     那么浮点数表示的数据范围有多大呢?


数的机器码表示

 

     在计算机中对数据进行运算操作时,符号位如何表示呢?是否也同数值位一起参加运算操作呢?如参加,会给运算带来什么影响呢?为了妥善地处理这些问题,就产生了把符号位和数值位一起编码来表示相应的数的各种表示方法,如原码、补码、反码、移码。为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为真值,后者称为机器数或者机器码。

1原码


 

2反码

 

3补码


 

4移码


 


     下面以定点整数为例,我们以数轴的形式给出原码、反码、补码的数值表示范围和可能的数码组合情况


     同样我们以十进制整数为例,给出其二进制和其各种码的表示形式,大家可以思考并从中找出规律


综上所述,我们可以得到这样一些结论:

1 一个正整数,当用原码、反码、补码表示时,符号位都固定为0,用二进制表示的数位值都相同,即三种表示方法 完全一样;

2 一个负整数,当用原码、反码、补码表示时,符号位都固定为1,用二进制表示的数位值都不相同。此时由原码表示法变成补码表示法的规则如下:

1)原码符号位为1不变,整数的每一位二进制数位求反得到反码

2)反码符号位为1不变,反码数值位最低位加1,得到补码。

3 由上表中0的表示可以看出,0在原码和反码中有两种表示,而在补码和移码中则由唯一的编码;

4 整数的补码值和移码值差别仅在于符号位不同。

关于各种码制的运算问题,如果后面的学习中遇到了,会再次详细研究的。


推荐阅读
  • 近期遇到电脑网络不稳定和游戏时频繁重启的问题,寻求专业建议。网络环境为ADSL调制解调器通过路由器共享给两台电脑使用,怀疑存在ARP攻击或硬件配置问题。希望获得详细的故障排查和解决方案。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文探讨了现代信号处理系统的核心组件,包括数据转换、数据交互和数据处理。详细介绍了AD/DA转换、串/并转换、编解码转换等技术,并讨论了FPGA在信号处理中的应用及其实现方法。 ... [详细]
  • vivo发布iQOO 11系列:搭载骁龙8 Gen2与多项创新技术
    vivo正式推出iQOO 11系列智能手机,该系列搭载最新的高通骁龙8 Gen2处理器,并引入多项创新技术,致力于为用户提供卓越的性能和游戏体验。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 电脑蓝屏故障的成因与解决方案(下)
    本文深入探讨了导致电脑蓝屏的具体原因,并提供了相应的解决方法,帮助用户更好地理解和处理这一常见问题。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • 制程能力分析:Cpk及其相关指数的深入探讨
    本文详细介绍了制程能力指数(Cpk)的概念及其与Cp、Pp、Ppk之间的关系,通过具体案例和图表展示如何评估和改进生产过程的能力。文章还提供了使用Excel和Minitab进行批量计算的实际操作步骤。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 本实验旨在通过图灵机模型的构建与计算机硬件系统的虚拟拆装,深入理解计算机的基本原理和结构。实验内容包括图灵机各组成部分的作用、冯·诺依曼体系结构的功能描述以及微型计算机的拆装顺序记录。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 本文详细介绍了C语言中的指针,包括其基本概念、应用场景以及使用时的优缺点。同时,通过实例解析了指针在内存管理、数组操作、函数调用等方面的具体应用,并探讨了指针的安全性问题。 ... [详细]
author-avatar
苦咖啡青柠檬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有