本文主要对计算机系统中数据的表示形式及工业IEEE754标准进行讲解,如有不当,敬请提出修改,敬请阅读!

目录

Hello!你好呀,我是灰小猿!一个超会写Bug的沙雕程序猿!

今天在这里和大家记录一下在计算机系统中各种数据的表示方式以及工业标准IEEE754的使用方法。

首先了解一个概念:

各种数据在计算机中表示的形式称为机器数,其特点是数的符号用二进制数0、1表示。机器数对应的实际数值称为该数的真值。与此同时,机器数又分为无符号数和带符号数两种。无符号数表示正数,在机器数中没有符号位。对于带符号数,机器数的最高位是表示正、负的符号位,其余二进制位表示数值。带符号的机器数可采用原码、反码、补码和移码等编码方法。机器数的这些编码方法称为码制。

接下来分别对这几个编码方式的使用讲解。

原码表示法

在原码表示中,数值X的原码记为[X]原,如果机器字长为n(也就是用n个二进制数表示),则原码的定义如下:

注意:上述公式中的范围之所以到2的n-1次方,是因为该二进制数的第一位表示正负,这就导致了大于等于2的7次方的数都无法表示。

例如当机器字长n等于8时,下列各数的原码为:

注意:小数用二进制数表示时,小数点后第一位表示2的-1次方,第二位表示2的-2次方......以此类推。

机器数的最高位是符号位,0代表正号,1代表负号,余下各位是数的绝对值。零有两个编码,即:

原码表示方法的优点在于数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除运算的规则简单;

缺点是用原码实现加减运算很不方便。

反码表示法

在反码表示中,数值X的反码记为[X]反,如果机器字长为n,则反码的定义如下:

例如当机器字长n等于8时,下列各数的反码为:

机器数的最高位是符号位,0代表正号,1代表负号。

当符号位为0时,其余几位即为此数的二进制值;

但当符号位为1时,则要把其余几位按位取反,才是它的二进制值。

零有两个编码,即:

补码表示法

在补码表示中,数值X的补码记为[X]补,如果机器字长为n,则补码的定义如下:

例如当机器字长n等于8时,下列各数的补码为:

机器数的最高位是符号位,0代表正号,1代表负号。

当符号位为0(即正数)时,其余几位即为此数的二进制值;

但当符号位为1(即负数)时,其余几位不是此数的二进制值,需把它们按位取反,且最低位加1,才是它的二进制值。

零有唯一的编码, 即

补码表示的两个数在进行加法运算时,只要结果不超出机器所能表示的数值范围,可以把符号位与数值位同等处理,运算后的结果按2取模后,得到的新结果就是本次加法运算的结果。

移码表示法

移码表示法是在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码。如果机器字长为n,规定偏移量为2的n-1次方,则移码定义为:

例如当机器字长n等于8时,下列各数的原码为:

在偏和量为2的n-1次方的情况下,只需要将补码的符号位取反就可以得到相应的移码表示。

除了以上原码、补码这些数据表示方法以外,在计算机中的数据表示还有定点数和浮点数两种,

定点数

所谓定点数,就是小数点的位置固定不变的数。小数点的位置通常有两种约定方式,分别是:

定点整数(纯整数,小数点在最低有效数值位之后)

定点小数(纯小数,小数点在最高有效数值位之前)

浮点数

所谓浮点数,就是小数点位置不固定的数,它能表示更大范围的数值,

先来看一个例子,当机器字长为n时,定点数的补码和移码可表示个数,而其原码和反码只能表示个数,因为在原码和反码中0的表示占用了两个编码,因此定点数所能表示的数值范围比较小,在运算中容易因为结果超出范围而溢出,但是由于浮点数是小数点位置不固定的数,因此它能表示更大的数。

浮点数通常的表示方法是:

其中M为尾数,R为基数(一般为2),E为阶码,

因此如果想要表示一个浮点数,就必须要给出尾数M,它决定了浮点数的表示精度,同时要给出阶码E,它指出了小数点在数据中的位置,也决定了浮点数的表示范围,这种方法表示的数称为浮点数,这种表示数的方法也被称为浮点表示法。

在浮点表示法中,码阶为带符号的纯整数,尾数为带符号的纯小数,浮点数的表示格式如图所示:

阶符

码阶

数符

尾数

从上面我们就可以看出,一个数的浮点表示不是唯一的,当小数点的位置改变时,阶码也随之相应的改变,因此可以用多个浮点形式表示同一个数,

浮点数所能表示的数值范围主要由阶码决定,所表示数值的精度则由尾数决定。为了充分利用尾数来表示更多的有效数字,通常采用规格化浮点数。规格化就是将尾数的绝对值限定在区间[0.5, 1]。

当尾数用补码表示时,需要注意如下问题:

①若尾数M≥0,则其规格化的尾数形式为M=0.1XXX...X,其中,X可为0,也可为1,即将尾数限定在区间[0.5, 1]。

②若尾数M<0,则其规格化的尾数形式为M=1.0XXX...X,其中,X可为0,也可为1,即将尾数M的范围限定在区间[-1, -0.5]。

如果浮点数的阶码(包括1位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,则这种浮点数所能表示的数值范围如下:

注意:若表示范围超过了计算机的表达范围,就称为溢出。

工业标准IEEE754

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

其中,为该数的数符,当S为0时表示正数,当S为1时表示负数,E为指数(阶码)用移码表示,为尾数,其长度为P位,用原码表示,

计算机中主要使用三种形式的IEEE754浮点数,分别是:单精度浮点数、双精度浮点数、扩充精度浮点数,下表为三种格式的IEEE754浮点数格式表。

关于数据在计算机中的表示方法就先暂且先总结到这里了,之后还会继续更新完善。

觉得不错记得点赞关注哟!

大灰狼陪你一起进步!

计算机的数值与编码教程,计算机数据表示方法及工业标准IEEE754讲解教程相关推荐

  1. 计算机数据表示方法及工业标准IEEE754讲解教程

    本文主要对计算机系统中数据的表示形式及工业IEEE754标准进行讲解,如有不当,敬请提出修改,敬请阅读! 目录 原码表示法 反码表示法 补码表示法 移码表示法 定点数 浮点数 工业标准IEEE754 ...

  2. 计算机怎么对西文编码,西文计算机编码输入方法专利_专利申请于2000-01-13_专利查询 - 天眼查...

    1.一种西文计算机编码输入方法,利用编码技术对西文进行编码及计算机输入,其特征是:基本编码长为5位,即首码.尾码和三个中间码,不足三个中间码时,有多少取多少:首码.尾码和中间码又分为主类首码.主类尾码 ...

  3. 计算机组成原理之(2)计算机的运算方法

    计算机组成原理系列 二.计算机的运算方法 2.1数值与编码 2.2运算方法和运算电路 2.3 浮点数表示.计算 二.计算机的运算方法 2.1数值与编码 2.1.1进位计数制及转换 几进制就是逢几进几. ...

  4. 全国计算机等级考试一级大纲,全国计算机等级考试大纲(一级WIN)

    全国计算机等级考试大纲(一级WIN) (2007-02-20 22:32:44) 基本要求 1.具有计算机的基础知识. 2.了解微型计算机系统的基本组成. 3.了解操作系统的基本功能,掌握Window ...

  5. 国家非专业等级计算机考试大纲,非计算机专业最新计算机等级考试大纲及试题.doc...

    非计算机专业最新计算机等级考试大纲及试题 非计算机专业最新计算机等级考试大纲及试题 (考试要求 1.掌握计算机基础知识,了解计算机系统的基本组成及工作原理: 2.了解计算机操作系统的基本功能: 3.具 ...

  6. 国家非专业等级计算机考试大纲,非计算机专业最新计算机等级考试大纲与试卷.doc...

    非计算机专业最新计算机等级考试大纲与试卷 非计算机专业最新计算机等级考试大纲及试题 ?考试要求 1.掌握计算机基础知识,了解计算机系统的基本组成及工作原理: 2.了解计算机操作系统的基本功能: 3.具 ...

  7. 计算机的认识文档,认识计算机教案

    认识计算机教案Tag内容描述: 1.第一单元 计算机基础知识 项目2 认识计算机系统 [项目目标] 了解计算机硬件.软件系统的组成及作用: 了解计算机主要部件及其作用: 会利用数据存储单位区分存储空间 ...

  8. 国家非专业等级计算机考试大纲,非计算机专业最新计算机等级考试大纲与试题.doc...

    非计算机专业最新计算机等级考试大纲与试题 非计算机专业最新计算机等级考试大纲及试题 ?考试要求 1.掌握计算机基础知识,了解计算机系统的基本组成及工作原理: 2.了解计算机操作系统的基本功能: 3.具 ...

  9. 全国高等学校计算机等级考试大纲,全国高等学校计算机等级考试大纲(2013版).doc...

    全国高等学校计算机等级考试大纲(2013版) 全国高等院校计算机等级考试 (重庆考区) 考 试 大 纲 (2013版) 目录 考试大纲3 一级考试大纲3 二级Visual FoxPro程序设计考试大纲 ...

最新文章

  1. 【c语言】蓝桥杯基础练习 闰年判断
  2. Vmware中安装RHEL5
  3. C++学习笔记(八)——内联函数
  4. 在Python中使用OpenCV裁剪图像
  5. toad软件 insert批量操作_AE创建、PR制作,动态字幕跨软件也能批量操作
  6. 【转】【最小树形图】有向图的最小生成树【朱刘算法】
  7. java character类
  8. 如何搭建java web环境_搭建java WEB开发环境和应用
  9. (Builder)创建者模式
  10. 王大珩追悼会举行 上千人雨中送别“光学之父”
  11. python编写财务软件_python 与财务
  12. 计算机专业英语影印版试题,计算机专业英语(2008影印版)复习资料
  13. Win11截图键无法使用怎么办?Win11截图键无法使用的解决方法
  14. mysql 读写分离 事务_mysql 读写分离(基础篇)
  15. amd cpu排行_amd cpu性能 排行榜_amd处理器性能排行
  16. SAP 系统销售流程成本和收入的确认
  17. 2022年G1工业锅炉司炉考试试题及答案
  18. U盘 如何自定义U盘图标并彻底隐藏配置文件
  19. 第7章 面向对象技术
  20. 通过银联跨行转账、转接的交易手续费用——2358原则

热门文章

  1. 怎么在windows服务器上传文件,windows服务器文件上传
  2. JS - 去掉字符串中的空格
  3. 【3DMax简易入门教程】(一) 第一章 · 3DMax快捷键界面操作
  4. jsjq来封装一个图片文字合成图案的方法
  5. Python Challenge 第4关
  6. 联想千亿营收背后的转身
  7. 配置元素customErrors
  8. 半监督学习笔记(一):综述,定义,方法
  9. [MFC]利用CMenu手工(非资源脚本)处理菜单、系统菜单
  10. JavaScript解析JSON格式方法