热门标签 | 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 整数的补码值和移码值差别仅在于符号位不同。

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


推荐阅读
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Linux设备驱动程序:异步时间操作与调度机制
    本文介绍了Linux内核中的几种异步延迟操作方法,包括内核定时器、tasklet机制和工作队列。这些机制允许在未来的某个时间点执行任务,而无需阻塞当前线程,从而提高系统的响应性和效率。 ... [详细]
  • 台式电脑的电力消耗:待机一天耗电多少?
    探讨台式电脑的电力消耗问题,特别是待机状态下的能耗。本文将详细介绍影响电脑功耗的因素,并提供计算和优化电源配置的方法。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 本文探讨了现代信号处理系统的核心组件,包括数据转换、数据交互和数据处理。详细介绍了AD/DA转换、串/并转换、编解码转换等技术,并讨论了FPGA在信号处理中的应用及其实现方法。 ... [详细]
  • vivo发布iQOO 11系列:搭载骁龙8 Gen2与多项创新技术
    vivo正式推出iQOO 11系列智能手机,该系列搭载最新的高通骁龙8 Gen2处理器,并引入多项创新技术,致力于为用户提供卓越的性能和游戏体验。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • 电脑蓝屏故障的成因与解决方案(下)
    本文深入探讨了导致电脑蓝屏的具体原因,并提供了相应的解决方法,帮助用户更好地理解和处理这一常见问题。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
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社区 版权所有