计算机组成原理--计算机的运算方法
无符号数和有符号数
一.无符号数:
无符号数没有只有数值部分,将它转换为二进制数就可以按一定位数保持到寄存器或存储器中,如果存到寄存器中,寄存器的长度就是无符号数的长度
二.有符号数:
1.机器数与真值
机器数:保持在计算机里的数
真值:我们得到的真实数
有符号数在计算机存储时不会存储小数点,而是按一种小数点协议存储,小数存储在符号位后面,整数存储在数值后面。
2.原码表示法:
(1)定义:
整数
小数
小数正数的原码中开头的0表示符号位,和真值中的0表示的意义不一样
原码的特点:简单,直观,但进行加法操作时会出现歧义
要求 | 数1 | 数2 | 实际操作 | 结果符号 |
+ | + | + | + | + |
+ | + | - | - | 可+可- |
+ | - | + | - | 可+可- |
+ | - | - | + | + |
3.补码表示:
(1)负数补码:一个负数加上“模”就得到了该负数的补码
(2)正数补码:它本身
(3)补码定义:
整数
小数
注:当真值为负数时,补码可以表示为原码处符号位外每位取反,末尾加1得到,原码也一样。
4.反码表示:
定义:
整数
小数
5.移码表示:
定义:
6.定点表示:
定点机 | 小数定点机 | 整数定点机 |
原码 | -(1-2^-n) ~ -(1-2^-n) | -(2^n - 1) ~ +(2^n-1) |
补码 | -1 ~ +(1-2^-n) | -2^n ~ +(2^n-1) |
反码 | -(1-2^-n) ~ +(1-2^-n) | -(2^n-1) ~ +(2^n-1) |
7.浮点表示:
(1)浮点数表示形式:
s 代表浮点数的符号
n其位数反映浮点数的精度
m其位数反映浮点数的表示范围
j和m共同表示小数点的实际位置
(2)浮点数表示范围:
(3)浮点数的规格化形式:
r=2 尾数最高位为1
r=4 尾数最高2位不全为0
r=8 尾数最高3位不全为0
(4)浮点数的规格化:
r=2 左移 尾数左移1位,阶码减1
右移 尾数右移1位,阶码加1
r=4 左移 尾数左移2位,阶码减1
右移 尾数右移2位,阶码加1
r=8 左移 尾数左移3位,阶码减1
右移 尾数右移3位,阶码加1
基数r越大,可表示的浮点数的范围越大,精度越低
定点运算
一.移位运算
1.移位运算的数学意义
数学 15 m=1500 cm 解释:小数点右移2位
机器用语 15相对于小数点左移2位,小数点不动,计算机中数据的小数点固定,数据左右移动
2.算术移位规则
·符号位不变
码制 | 添补代码 | |
正数 | 原码,补码,反码 | 0 |
负数 | 原码 | 0 |
补码 | 左移添0 | |
右移添1 | ||
反码 | 1 |
小列:
a.机器字长8位,A=+26=+11010
移位操作 | 机器数 | 对应的真值 |
A原=A补=A反 | ||
移位前 | 0,0011010 | +26 |
左移一位 | 0,0110100 | +52 |
左移两位 | 0,1101000 | +104 |
右移一位 | 0,0001101 | +13 |
右移两位 | 0,0000110 | +6 |
左移真值变大两倍,右移变小两倍
b.机器字长8位,A=-26=-11010
移位操作 | 机器数 | 对应的真值 |
移位前 | 1,001101, | -26 |
左移一位 | 1,0110100 | -52 |
左移两位 | 1.110100 | -104 |
右移一位 | 1,0001101 | -13 |
右移两位 | 1,0000110 | -6 |
移位操作 | 机器数 | 对应的真值 |
移位前 | 1,1100110 | -26 |
左移一位 | 1,1001100 | -52 |
左移两位 | 1,0011000 | -104 |
右移一位 | 1,1110011 | -13 |
右移两位 | 1,1111001 | -7 |
移位操作 | 机器数 | 对应的真值 |
移位前 | 1,1100101 | -26 |
左移一位 | 1,1001011 | -52 |
左移两位 | 1,0010111 | -104 |
右移一位 | 1,1110010 | -13 |
右移两位 | 1,1111001 | -6 |
3.算术移位的硬件实现
4.算术移位和逻辑移位的区别
·算术移位 有符号数的移位,最高位表示符号,不参加移位
·逻辑移位 无符号数的移位,都参加移位,逻辑左移,低位添0,高位丢弃,逻辑右移,高位添0,低位添丢弃
例如: 01010011 10110010
逻辑左移:10100110 逻辑右移:01100100
算术左移:00100110 算术右移:11011001
(蓝色数位符号位,不参加移位运算)
二.加法减法运算
(1)补码加法运算:
整数 A补 + B补 =AB补 (mod2^n+1)
小数 A补 + B补 =AB补 (mod2)
(2)补码减法运算:
A-B=A+(-B)
整数 (A-B)补 =(A+(-B))补=(A)补+(-B)补 (mod2^n+1)
小数 (A-B)补 =(A+(-B))补=(A)补+(-B)补 (mod2)
(3)补码溢出判断:
a.一位符号位判断:
参加操作的两个数符号相同,其结果的符号位与原操作数的符号不同,即为溢出
或最高有效位的进位 + 符号位的进位=1则溢出
b.两位符号位判断:
结果的双符号位相同,未溢出 例:00,100 11,100
结果的双符号位不同,溢出 例:10,100 01,100
(在双符号位中,最高符号位代表其真正的符号)
(4)补码加减法的硬件配置:
加法器是核心,由它完成了两补码的运算,寄存器A中保存被加数,寄存器x保存加数或被减数,GA,GS是两个标记,如果做加法,GA置1,做减法GS置1,如果进行减法运算,求补控制逻辑可以完成B补码到(-B)补码的转换,然后可以用X硬件实行加1或直接用加法器进行加1操作
三.乘法运算
计算机组成原理--计算机的运算方法相关推荐
- 浮点加法器计算机组成原理,计算机组成原理 第二章运算方法与运算器
第二章运算方法与运算器 运算方法:指算术(四则)运算和逻辑运算,在运算器的实现方法,而实现这两种运算的硬设备就是算术逻辑部件ALU(Arithmetic and Logic Unit)或称运算器 由于 ...
- 计算机组成原理-第二章 运算方法和运算器
数据与文字的表示 计算机中使用的数据可分成两大类: 符号数据:非数字符号的表示(ASCII.汉字.图形等) 数值数据:数字数据的表示方式(定点.浮点) 计算机数字和字符的表示方法应有利于数据的存储.加 ...
- 计算机组成用变形补码运算,计算机组成原理补码加减法运算
计算机组成原理补码加减法运算 (37页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 补码加减法运算 2019年7月9日计算机组成原理 1 ...
- 原码,反码,补码,加法减法在计算机内存中的运算方法
什么是原码:所有数转化成二进制的序列就是原码[正数原反补相同] 什么是补码:原码通过取反得反码,反码+1得补码[负数存的是补码] 所有信息在计算机在内存中,都是由二进制方式存储 计算机自能进行加法运算 ...
- 计算机组成原理——计算机基本组成
文章目录 其他文章 计算机的基本硬件组成 CPU 内存 主板 I/O 设备 显卡 冯若依曼和哈佛 冯·诺依曼体系结构概述 冯·诺依曼体系工作原理(CPU工作原理) 哈佛结构 哈佛结构和冯诺依曼结构区别 ...
- 合工大计算机组成原理ppt,合工大 计算机组成原理 计算机组成原理提纲.pdf
合工大 计算机组成原理 计算机组成原理提纲 计算机组成原理计算机组成原理 合肥工业大学 计算机与信息学院 陈陈 田田 2013.12.12 提 纲 11 考试形式和试卷结构考试形式和试卷结构 2 考查 ...
- 计算机组成原理CRC相关运算,计算机组成原理复习
<计算机组成原理>复习大纲 1.了解计算机的发展历史及发展趋势 2.理解存储程序概念 3.了解计算机的硬件组成 4.理解冯.罗依曼结构和哈弗结构的存储器设计思想 5.理解硬件与软件的关系. ...
- 计算机组成原理AB什么运算,计算机组成原理运算器实验.doc
文档介绍: 计算机组成原理运算器实验--------------------------------作者:--------------------------------日期: 成绩: 计算机原理实验 ...
- 计算机组成原理AB什么运算,2010~2011学年武汉大学计算机组成原理AB类AB卷及答案...
计算机组成原理 武汉大学计算机学院 2010-2011学年第一学期2009级<计算机组成原理> 期末考试试题A卷(闭卷) 学号_____________ 班级 _________ 姓名__ ...
- 计算机组成原理CRC相关运算,计算机专业基础综合计算机组成原理(数据的表示和运算)-试卷1...
计算机专业基础综合计算机组成原理(数据的表示和运算)-试 卷1 (总分:76.00,做题时间:90分钟) 一. 单项选择题(总题数:31,分数:62.00) 1.单项选择题1-40小题.下列每题给出的 ...
最新文章
- 如何编写Python模块/包?
- avformat_alloc_output_context2 -22错误
- python查看函数定义_从函数内函数定义看python的函数实现
- 13.小结Action
- Elasticsearch索引分析
- 编译时检查JPA查询
- Kendo UI开发教程:Kendo UI模板概述
- nginx日志中$request_time时间异常问题排查
- java中extends怎么用_Java 中extends與implements使用方法
- 分析了 3000 份 Bug 记录,可以发现什么?
- 小程序引入的echarts过大如何解决_小程序如何解决社区团购的痛点
- 利用Dockerfile构建一个nginx容器
- Undefined symbols for architecture armv7
- python循环引用例子_魔幻离现实仅一步之遥:细说Python的循环调用、循环引用和循环导入...
- IR2103驱动+双H桥电路=步进电机
- 谈了四年的男友寒心了,她已是接近30的老女人
- 对抗生成网络学习(十六)——stackGAN++利用文字生成鸟类图片(tensorflow实现)(未完待续)
- Re-ID: Person Re-identification by Local Maximal Occurrence Representation and Metric Learning 论文解析
- 动态规划之扔鸡蛋(或手机)问题
- openlayers画虚线 (十四)