文章目录

  • 三、数的表示及计算
    • 1.定点数的表示
      • 1.原码表示范围:
      • 2.补码表示的范围
    • 2.定点数运算
      • 1.加减运算:
      • 2.移位运算
        • **逻辑移位:** 逻辑左移,逻辑右移
        • **循环移位:**
        • **算数移位:**
        • 溢出过半:
    • 3.浮点数的表示
    • 4.浮点数的运算

三、数的表示及计算

1.定点数的表示

1.原码表示范围:

符号位和数据为i相对独立

N位原码表示范围:

二进制形式:
[1111…11,01111…111]

整数:
[−(2n−1−1),2n−1−1][-(2^{n-1}-1),2^{n-1}-1][−(2n−1−1),2n−1−1]
共计:2n−12^n-12n−1

小数:
[−(1−2−(n−1)),1−2−(n−1)][-(1-2^{-(n-1)}),1-2^{-(n-1)}][−(1−2−(n−1)),1−2−(n−1)]
共计:2n−12^n-12n−1

因为0有两种表示,所以比N为能表示的状态少1种。

2.补码表示的范围

N位补码表示范围

-4 -2 -1 0 1 2 4
补码 1100 1110 1111 0000 0001 0010 0100

思考:
[1000]补 的真值是谁 ?

是-8,也就是说补码可以表示出比原码多一位的数,而且0的表示方法唯一。

考虑N为补码的表示形式:

形式 真值 (整数) 真值(小数)
最大正数 011111…1111 $2^{n-1}-1 1−2−(n−1)1-2^{-(n-1)}1−2−(n−1)
最大负数 11…11111111 −2n−1-2^{n-1}−2n−1 −(1−2−(n−1))−2−(n−1)=−1-(1-2^{-(n-1)})-2^{-(n-1)}=-1−(1−2−(n−1))−2−(n−1)=−1

2.定点数运算

1.加减运算:

补码的加减法基本公式:

[A+B]补=[A]补+[B]补
[A-B]补=[A]补+[-B]补
优点:直接运算

溢出的判断:
双符号位法:两个符号位同时运算,双符号位不同则溢出,上溢和下溢。

2.移位运算
逻辑移位: 逻辑左移,逻辑右移

移出位移走,补位位补0

eg:1010
左移:0100
右移:0101
循环移位:

小循环移位小循环左移,小循环右移
移出移入到补位位,同时移入到标记为C中
在数字最前和最后分别有一个C位,储存溢出位

eg:1010
左移:1  0101
右移:0101   0

大循环移位:大循环左移,大循环右移
移出位移入到C位,C位移入到补位位

eg:0 1010左移:1 0100右移:0101 0
算数移位:

(1)保留数值的数学意义,左移相当于乘以2,右移相当于除以2
(2)存在溢出或精度丧失
原码:符号位不动,数值位逻辑左右移
补码:带着符号位一起移动
移出位移走。补位位:高位补符号位,地位补零。

溢出过半:

原码:符号位为0或1,数值位最高位为1
补码:符号位为0,数值最高位为1;符号位为1,数值最高位为0.

3.浮点数的表示

规则:
1)组成部分、顺序
2)每个组成部分位数
3)尾数和阶码表示形式:
尾数:定点小数
阶码:定点整数

一、IEEE754标准
1.格式:
32位(float)和64位(double)

2. IEEE有关阶码的规定
(1)用修正过的移码表示
修正过的移码可以表示0和±∞;

float:真值(e)=机器数的值(E)-128
double:真值(e)=机器数的值(E)-1024

(2)有关移码
e=E−2n−1e=E-2^{n-1}e=E−2n−1

(3)E位全零或者全1的状态都不用

全0:表示数值0
全1:表示+-∞

所以正式的IEEE754标准:
e=E−(2n−1−1)e=E-(2^{n-1}-1)e=E−(2n−1−1)

3. IEEE有关尾数的规定
(1)用修正过的原码表示尾数
(2)最高数值位必须为1,并且省略。
这样进一步提高了数据的精度。
(3)什么是规格化的尾数(M)
∣M∣>=1/2=(0.1)2|M|>=1/2=(0.1)_2∣M∣>=1/2=(0.1)2​

因为尾数最高的数值位为1,并且省略。
E:阶码
S:符号位
M:尾数
float:(−1)s∗1.M∗2E−127(-1)^s*1.M*2^{E-127}(−1)s∗1.M∗2E−127
double:(−1)s∗1.M∗2E−1023(-1)^s*1.M*2^{E-1023}(−1)s∗1.M∗2E−1023

4. IEEE与真值的相互转换
eg:Float类型413C0000H的真值是多少:

413C0000H=(01000001001111000000000000000000)2413C0000H =(0100 0001 0011 1100 0000 0000 0000 0000)_2413C0000H=(01000001001111000000000000000000)2​

S=0;M=0111;E=10000010S=0;M=0111;E=1000 0010S=0;M=0111;E=10000010

e=(−1)s∗1.M∗2E−127e=(-1)^s*1.M*2^{E-127}e=(−1)s∗1.M∗2E−127
=(−1)0∗1.01111∗2130−127=(-1)^0*1.01111*2^{130-127}=(−1)0∗1.01111∗2130−127
=(1011.11)2=(1011.11)_2=(1011.11)2​
=11.75=11.75=11.75

5. Float类型的表示范围

二、非IEEE754标准

1.有机组成部分

每部分可以用不同的编码表示,最常见的阶码和尾数都用补码表示。

2. 表示范围
(1)为什么要规格化?
为了进一步提高数据精度
(2)规格化的本质是什么?
∣尾数∣>=0.5|尾数|>=0.5∣尾数∣>=0.5

(3)这种本质的体现是什么?
尾数分别用原码和补码表示的时候规格化的尾数是什么形式的?
原码:数值最高位为1
补码:1.0xxxxx或者0.1xxxxx或者1.1xxxxx

(4)IEEE754标准如何做的规划化?
尾数最高的数值位为1,并且省略。

设某浮点数阶码和尾数都用4位二进制补码表示。

4.浮点数的运算

一、IEEE754标准的加减运算
(1)0操作数检查
(2)对阶:小阶向大阶对齐,尾数右移
(3)尾数加减:补码双符号位
(4)规格化: 左规;右规

左规:尾数+-不发生溢出,结果不是规格化,左规尾数不定,阶码-1,知道规格化为止;
右规:尾数+-发生溢出,带两个符号位右移移位,阶码+1

(5)舍入,阶码采用补码双符号位运算。0舍1入。
(6)判断溢出
在溢出判断中,什么样的情况才算溢出?
阶码溢出才叫溢出
尾数溢出是否标志着结果的溢出?
尾数溢出不表示结果的溢出

计算机组成原理--数的表示及计算相关推荐

  1. 【计算机组成原理】码距怎么计算

    [计算机组成原理]码距怎么计算 计算码距的一种方法,就是对两个位串进行异或(xor)运算,并计算出异或运算结果中1的个数. 例如110和011这两个位串,对它们进行异或运算,其结果是: 110⊕011 ...

  2. (肝肝肝啦啦啦)计算机组成原理总线性能指标—总线带宽计算

    大家好大家好这里是X,来了来了更新了更新了 总线带宽概念

  3. 计算机组成原理课程内容,计算机组成原理课程教学大纲.doc.doc

    计算机组成原理课程教学大纲.doc.doc 附件A 计算机组成原理课程教学大纲 课程名称 中文:计算机组成原理 英文: the Principle of Computer Organization 课 ...

  4. 计算机组成原理的实验课心得,计算机组成原理移位控制实验心得.docx

    计算机组成原理移位控制实验心得 计算 机组成原理实验五 位运算实验............... 姓名:陈衍席学号:网工1202移 [实验环境] 1.WindowsXX或WindowsXP 2.sp2 ...

  5. 计算机组成原理考试计算题,计算机组成原理常考计算题.doc

    文档介绍: 计算机组成原理常考计算题 1. 机器数字长为8位(含1位符号位),当X= -127 (十进制)时,其对应的二进制表示, (X)原表示,(X)反表示,(X)补表示,(X)移表示分别是多少? ...

  6. 计算机组成原理(分析计算题解析)内附填空,选择,解答题答案

    目录 关于计算机组成原理的填空,选择以及解答题 1. 2. 3. 1.所以首先将整数和小数部分转化成二进制 2.移动小数点 3.得到二进制存储格式 4. 5. 6. 7. 8. 9. 计算机组成原理( ...

  7. 计算机组成原理计算题题库,计算机组成原理习题库.doc

    文档介绍: 计算机组成原理****题库 计算机系统概论 选择题 1.电子计算机问世至今,新型机器不断推陈出新,不管怎么更新,依然具有"存储程序"的特点,最早提出这种概念的是 B . ...

  8. 计算机组成原理计算tag,计算机组成原理计算题

    <计算机组成原理计算题>由会员分享,可在线阅读,更多相关<计算机组成原理计算题(7页珍藏版)>请在人人文库网上搜索. 1.计算题:[第三章]交叉方式的片选方法,交叉方式的地址分 ...

  9. 【计算机组成原理】计算机组成原理——计算篇

    计算机组成原理--计算篇                   进制运算的基础 定义: 进位制是一种计数方式,又称进位计数法或位值计数法 用有限种数字符号来表示无限的数值 进位制的基数或底数:使用的数字 ...

最新文章

  1. Dubbo原理何源码解析之服务暴露
  2. SpringCloudAlibaba:Nacos实现原理详解
  3. Python列表之for循环应用
  4. HDFS集群balance(3)-- 架构细节
  5. 同一工作组无法访问_工作组,域
  6. 隐藏或者修改nginx信息
  7. Android8.0 开机启动脚本,Android开机启动shell脚本(Android 8.0测试OK)
  8. 【DevOps】做个愉快的DevOps之XenServer自动化管理(1)
  9. idea中build project不能用_Java语言编程第40讲——如何在一个项目中组织多个SpringBoot服务
  10. 编码原则 之 Once and Only Once
  11. 免费文件分发服务器,文件分发服务器 AWS CloudFront(CDN)使用入门-以S3为例 Lebal:Research...
  12. linux缓冲设备,Linux设备驱动程序缓冲策略
  13. 全球卡巴斯基升级服务器列表
  14. GIS | 坐标系统与地图投影
  15. c++while循环
  16. npm 安装 局部webpack
  17. 企业作业调度软件Tivoli Workload Scheduler (TWS)概述
  18. SEO培训联盟排名掉的原因:宋星博客?
  19. 计算机配置高低怎么看,电脑配置高低怎么判断_教你查看电脑配置高低的方法...
  20. mysql分库分表篇

热门文章

  1. [04-05]box框模型(Box Model)定义了元素框处理元素内容、内边距、边框和外边距的方式...
  2. composer安装及使用
  3. ODS(Operational Data Store)定义
  4. Linux常用命令(八)LVM逻辑卷管理
  5. CentOS6.5下用yum安装 git .
  6. MFC中对话框的操作
  7. GlassFish linux下配置服务并自动启动
  8. 计算机及网络的概念,网络的概念是什么意思,以及计算机网络概念的引入
  9. linux rpm和deb的区别,rpm与deb的区别
  10. hibernate 双向一对多 关联在多端维护