文章目录

  • 定点数表示
  • 定点数的运算

定点数表示

  1. 无符号数和有符号数
    无符号数有符号数都是机器数
    1)无符号数
    指整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值
    若机器字长为8位,则数的表示范围为0~28-1,即0 ~255
    2)有符号数
    在机器中,数的“正”,“负”号是无法识别的,有符号数用“0”表示“正”号,用“1”表示“负"号,从而将符号也数值化,并通常约定二进制数的最高位为符号位,即将符号位放在有效数字的前面,组成有符号数。
    有符号数机器表示原码补码反码移码
    为了能正确区别真值和各种机器数,约定用X表示真值

[X] 表示原码
[X] 表示补码
[X] 表示反码
[X] 表示移码

  1. 机器数的定点表示
    根据小数点的位置是否固定,在计算机中有两种数据格式:
    定点表示浮点表示
    定点表示即约定机器数中的小数点位置是固定不变的,小数点不再使用“.”表示,而是约定它的位置。理论上,小数点位置固定在哪位都可以,但在计算机中通常采用两种简单的约定:
    将小数点的位置固定在数据的最高位之前,或固定在最低位之后。一般常称前者为定点小数,后者为定点整数

1)定点小数
定点小数是纯小数,约定小数点位置在符号位之后、有效数值部分最高位之前。若数据X的形式为X = x0 . x1……xn,(其中x0为符号位,x1——xn是数值的有效部分,也称尾数,x1为最高有效位),则在计算机中的表示形式如图所示(设机器字长n+1位)。

x0=0,x1——xn均为1时,x为其所能表示的最大正数,真值等于1 - 2-n.

x0=1,x1——xn均为1时,X为其(原码)所能表示的最小负数,真值等于2-n - 1

2)定点整数

定点整数是纯整数,约定小数点位置在有效数值部分最低位之后。若数据X的形式为X = x0x1……xn
(其中x0为符号位,x1——xn是尾数,xn为最低有效位),则在计算机中的表示形式如图所示:

x0 = 0, x1——xn均为1时,x为其所能表示的最大正数,真值等于2n-1

x0 = 1, x1——xn均为1时, X为其(原码)所能表示的最小负数,真值等于1 - 2n

  1. 原码,补码、反码、移码
    1)原码表示法
    原码是一种比较简单、直观的机器数表示法,用机器数的最高位表示该数的符号,其余的各位表示数的绝对值。原码的定义如下:
  • 纯小数的原码定义

    如果字长为n+1,则原码小数的表示范围为:2-n-1 ≤ x ≤ 1-2-n
  • 纯整数原码定义

    如果字长为n+1,则原码小数的表示范围为:1 - 2n ≤ x ≤ 2n - 1

2)补码表示法
加减法采用统一的加法操作

  • 纯小数的补码定义

    如果字长为n+1,则原码小数的表示范围为:-1 ≤ x ≤ 1 - 2n
  • 纯整数的补码定义

    如果字长为n+1,则原码小数的表示范围为:- 2n ≤ x ≤ 2n - 1

0补码、移码唯一,原码、反码不唯一

定点数的运算

  1. 定点数移位运算
    移位运算根据操作对象的不同分为算术移位逻辑移位
    有符号数的移位称为算术移位,逻辑移位的操作对象是逻辑代码,可视为无符号数。
    1)算术移位
    算术移位的对象是有符号数,在移位过程中符号位保持不变。
    对于正数,移位后出现的空位均以0添之。
    对于负数,由于原码、补码、反码的表示形式不同,因此当机器数移位时,对其空位的添补规则也不同。
    注意:不论是正数还是负数,移位后其符号位均不变,且移位后都相当于对真值补0,根据补码、反码的特性,所以在负数时填补代码有区别。
    对于原码,左移位若不产生溢出, 相当于乘以2(与十进制的左移一位相当于乘以10类似),右移一位, 若不考虑因移出而舍 去的末位尾数,相当于除以2。

正数的原码、补码与反码都相同,因此移位后出现的空位均以0添之。
对于负数,由于原码、补码和反码的表示形式不同,因此当机器数移位时,对其空位的添补规则也不同。

①负数的原码数值部分与真值相同,因此在移位时只要使符号位不变,其空位均添0.
②负数的反码各位除符号位外与负数的原码正好相反,因此移位后所添的代码应与原码相反,即全部添1。

③分析由原码得到补码的过程发现,当对其由低位向高位找到第一一个“1”时,在此“1”左边的各位均与对应的反码相同,而在此“1”右边的各位(包括此“1”在内)均与对应的原码相同。因此负数的补码左移时,因空位出现在低位,则添补的代码与原码相同,即添0;右移时因空位出现在高位,则添补的代码应与反码相同,即添1.

(2)逻辑移位

逻辑移位将操作数视为无符号数,移位规则:

逻辑左移时,高位移丢,低位添0;
逻辑右移时,低位移丢,高位添0。

注意:逻辑移位不管是左移还是右移, 都添0.

【计算机组成原理】定点数的表示和运算相关推荐

  1. 计算机组成原理|定点数和浮点数的运算

    目录 1.补码的加减法 1.1溢出判断 1.2符号拓展 1.3小结 2.原码的除法运算 2.1 手算除法 3. 浮点数的运算方法 3.1 浮点数的表示 3.2 浮点数尾数的规格化 3.2浮点数的加减运 ...

  2. 计算机组成原理-第二章 数据表示与运算

    计算机组成原理-第二章 数据表示与运算 一.数据的表示 1.数值型数据的表示(重点难点) 1.1数值型数据的表示--进位制 1.2数值型数据表示-码制 1.3数值型数据的表示--定点数 1.4数值型数 ...

  3. 用计算机浮点数表示法计算,计算机组成原理第4章浮点数运算方法ppt课件

    PPT内容 这是计算机组成原理第4章浮点数运算方法ppt课件下载,主要介绍了浮点数的表示:浮点加减运算:浮点加减运算的步骤:浮点数加减运算流程图:浮点加减法运算:浮点运算所需的硬件配置,欢迎点击下载. ...

  4. 计算机组成原理 | 第三章《运算方法和运算部件》学习笔记

    计算机组成原理 | 第三章<运算方法和运算部件>学习笔记 引言 & 声明 第一章 计算机系统概论 第二章 计算机中数据的表示方法 第三章 运算方法和运算部件 3.1& 算术 ...

  5. 计算机组成与结构第二章ppt,计算机组成原理(华科版)第二章 运算方法与运算器.ppt...

    文档介绍: 第二章运算方法与运算器 2.1 数据信息的表示方法 2.1.1数值数据的表示 淘在盛纬娃消镶勉桌乡利亚钦沙隐酋谴牲斗丙茸乔泛戊篡汽栽辫滔矮空芥计算机组成原理(华科版)第二章运算方法与运算器 ...

  6. 机器值计算机组成,计算机组成原理_数据的机器运算.ppt

    计算机组成原理_数据的机器运算 计算机组成原理:数据的机器运算 第四章 数据的机器运算 计算机的主要功能是对数据进行各种加工和处理,包括加.减.乘.除这些基本的算术运算,与.或.非这些基本的逻辑运算, ...

  7. 计算机原理之定点与浮点表示教案,计算机组成原理-定点数和浮点数.ppt

    计算机组成原理-定点数和浮点数 3.2.3 定点数和浮点数 计算机中的两种表示方式 数值范围:一种数据类型所能表示的最大值和最小值 数据精度:实数所能表示的有效数字位数. 数值范围和数据精度均与使用多 ...

  8. 计算机组成原理——定点数加减乘除运算

    通过这篇文章我们来学习一下定点数的加减乘除在计算机中是如何实现的. 定点加法 我们知道这个负数用补码去表示后,可以和正数一样去处理.在计算机中就是用一个加法器就可以实现了,没必要单独为了负数的加法运算 ...

  9. 计算机组成原理延迟时间ty,计算机组成原理之数值的机器运算培训教程方案.ppt...

    文档介绍: 2009.9计算机组成原理计算机组成原理北京理工大学计算机科学技术学院第4章数值的机器运算2009.9计算机组成原理计算机组成原理北京理工大学计算机科学技术学院第4章运算器是计算机进行算术 ...

  10. 计算机组成原理--数据的表示及其运算和运算器(附考研题目)

    数据的表示和运算 1.数制与编码 (1)进位计数制及其相互转换(前期知识) (2)真值和机器数(6.1) (3)BCD码(附录5B) (4)字符与字符串(附录5A) (5)校验码:附录5C,汉明码-4 ...

最新文章

  1. Timer 的简单介绍
  2. 设计模式入门:建造者模式
  3. Vivadoz中Block Memory Generator v8.3的使用方法(二)
  4. python装饰器函数-Python函数装饰器指南
  5. 017_SpringBoot异常处理方式-自定义错误页面
  6. mysql 集群_MySQL之PXC集群搭建
  7. 如何把握好 transition 和 animation 的时序,创作描边按钮特效
  8. axios vue 回调函数_前端Vue 面试题大全
  9. python2/3 模块gmpy2在linux下安装
  10. python单行注释的标记符_【转】Pyhton 单行、多行注释符号使用方法及规范
  11. 不同数据库之间的独立性
  12. 中国汉字大全 免费下载
  13. IBM SL400驱动
  14. 微信机器自动问答机器人
  15. android 触摸屏校准,android实现触摸屏校准
  16. day2 craps赌博游戏
  17. 【转帖】刘备三顾茅庐,请Elasticsearch出山
  18. 7.7.4 积分卡管理系统示例
  19. Jsp+Servlet+Mysql简单的登录
  20. 从零开始Bootstrap教程

热门文章

  1. 验证手机号码归属地_手机号码归属地能否取消? 工信部回复了
  2. python封装成可执行的小程序_Python打包小程序
  3. ios 自己服务器 苹果支付_iOS应用内支付(IAP)服务端端校验详解
  4. php图片抖动,css3,jquery_css3图片抖动,css3,jquery - phpStudy
  5. vue打包的app如何设置自动清理软件缓存_使用Webpack启动你的Vue.js应用
  6. php 使用webservice_PHP中如何调用webservice的实例参考
  7. 竞赛准备篇---(一)抽签问题
  8. spring boot 中启用 https
  9. R语言比较运算符和逻辑运算符
  10. BZOJ3448 : [Usaco2014 Feb]Auto-complete