做电影网站服务器,购物网站开发 书籍,国外网站设计大全,如何做阿里详情页面链接到外部网站文章目录 前言一、数值的格式二、定点机器数的表示方式1.原码表示法#xff1a;2.补码表示法:3.反码表示法#xff1a;4.移码表示法#xff1a; 三、浮点机器数的表示方式(规格化)四、定点数的加减乘除运算五、定点运算器的组成与结构六、浮点运算总结 前言
学无止境#… 文章目录 前言一、数值的格式二、定点机器数的表示方式1.原码表示法2.补码表示法:3.反码表示法4.移码表示法 三、浮点机器数的表示方式(规格化)四、定点数的加减乘除运算五、定点运算器的组成与结构六、浮点运算总结 前言
学无止境笔勤不辍。真正开始复习计组就会发现 它 真的难…笔者这次整理了有关补码、移码、原码、反码表示的方法、浮点数的表示 and与它们相关的计算和硬件实现结构和操作的知识点希望能給大家一些帮助同时也希望大家多多分享易错点… 一、数值的格式
一般参与计算机运算的数值数据有两种: 1.无符号数:所有的二进制数据位都用来表示数值本身无正负 2.有符号数:一般最高位是符号位代表正负不代表本身数值大小 当有符号数和无符号数位数相等时表示的范围是不同的 本身计算机硬件无需区分有符号数或是无符号数通过程序不同指令来区分即可
定点表示法:约定机器数的小数点位置是固定不变的 浮点表示法:浮点数N由三部分组成阶码E(定点整数表示) M尾数(定点小数表示) R阶码的底(一般默认为2、8、16) 浮点数的小数点位置由阶码决定随阶码大小变化而变化其实总的来说精度由尾数决定大小由阶码决定。 计算机的精度:1.计算机能表示的最大负数–副精度 2.计算机能表示的最小正数–正精度 精度由机器数的编码形式、位数、格式决定 当然由于精度问题会出现不同种类溢出问题
1.位于最大负数和最小正数之间计算机直接将其视为0处理称为下溢
2.当机器数大于最大正数称为正溢出
3.当机器数小于最小负数称为负溢出定点数and浮点数的异同点 1.计算机所能代表的都是一系列的离散的点并且采用近似的操作 2.硬件字长有限无论定点数还是浮点数都会溢出 3.定点数是均匀分布的浮点数分布是离0点近密远疏的
二、定点机器数的表示方式
1.原码表示法
1.形式将真值中的正号用0表示负号用1表示放置在最高位数值部分不变 2.特点 1.0既可用正数原码表示也可以用负数原码表示即 0的原码不唯一占用了两个编码。 3.范围 n1位机器数条件下 定点整数(-(2n-1),(2n-1)) 定点小数(-(1-2-n),(1-2-n)) 4.运算 运算时符号位单独处理将真值的绝对值进行相加减在判断符号位正负。 5.用途 主要用于浮点数尾数的运算。
2.补码表示法:
1.形式正数符号位是0,数值位是真值绝对值负数符号位是“1”数值位是按位取反后末位1 2.特点 真值0唯一 3.范围 n1位机器数条件下 定点整数:(-2n,2n-1) 定点小数(-1,(1-2-n)) 4.运算 基本上加减运算都用补码 5.用途 用补码表示有符号整数
3.反码表示法
1.形式正数符号位是0,数值为是真值绝对值负数符号位是1,数值位将真值绝对值按位取反 2.特点 真值0的表示不唯一占用了全0编码和全1编码 3.范围 n1位机器数条件下 与原码相同 4.运算 基本不用 5.用途 无
4.移码表示法
只用来表示定点整数ps.笔者也不是特别理解 1.形式正数符号位是1,数值位是真值绝对值;负数符号位是0数值位按位取反后1 2.特点 真值0的表示唯一 3.范围 定点整数(-2n,2n-1),-2n编码全0 4.运算: 适用于比较运算无论正负均从符号位开始逐位比较大小即可 5.用途 暂不作总结…
三、浮点机器数的表示方式(规格化)
1.规格化的阶码的底R为2的尾数M应该满足的条件为:2-1|M|1,无前导零 判断若M是原码表示则最高有效位为1即可形式如x.1xxxx… 若M是补码表示则最高有效位和符号位要相异形式如0.1xxxxx…或1.0xxxxxx… 2.对于非规格化的尾数要对其进行规格化操作对于原码若符号位是0必须左移操作为(尾数M每左移一位阶码减一),直到形式为x.1xxxx…;对于补码形式当符号位和最高位相同时也必须左规直到符号位和最高位相异… 注意格式化的浮点机器数表示范围和非规格化的浮点数机器数表示范围不一定相等 大数和小数相加减的时候可能会出现大数吃小数的现象就是因为浮点数疏密不均导致小数直接被大数吸收 3.IEEE754浮点数格式 1.单精度总位数32位格式MsEM,数符位阶码数值位规格化真值计算:(-1)Ms *(1.M)*2E-127 非规格化真值计算(-1)Ms *(0.M)*2-126 2.双精度将其中的127改成1023 126改为-1022即可 规格化IEEE754浮点数的阶码不全是1也不全是0 规格化时尾数采用隐藏位即原码表示的规格化尾数的数值最高位的1省略可多出一位有效位
四、定点数的加减乘除运算
1.移位运算1.补码算术左移最高位移出低位补0,补码算术右移低位移出高位补符号位即若为负数补1,正数补0原码(andIEEE754浮点数的尾数)算数左移符号位不变数值最高位移出低位补0,算术右移符号位不变低位移出高位补0 注意可能会有溢出 实现可用属于组合逻辑电路的桶形移位器… 2.加减运算 基本都采用补码形式涉及了各类形式码和补码之间的转化 溢出1.正溢出正确结果是正数结果算出是负数 2.负溢出正确结果是负数结果算出是正数。 异号两数相加同号两数相减绝对不会发生溢出 溢出的判断:
1.进位位判溢法数值最高有效位和符号位的进位相同时不溢出否则溢出
2.双符号位判溢法重复一位符号位参与计算观察两个符号位加减之后是否相同不相同则溢出
3.单符号位判溢法靠人工...移码相加减:最好将另一计算数转为补码进行相加减… 判溢时若使用双符号判溢法则移码表示的那个计算数复写符号位时恒为0当最高符号位为1时溢出… 由于笔者期末考不涉及乘法和除法运算..因此就简单介绍一下原码形式的串行乘法和除法... 3.乘法运算X*Y)
ps部分积和乘数|Y|写在同一行
1.初始化部分积为0乘数为|Y|
2.若|Y|最右边数位1则部分积|X|若为0,则部分积0
3.整体右移一位4.最终得到答案4.乘法运算X/Y)
ps商和被除数|X|写在同一行
1.商初始化为0被除数为|X|
2.第一次被除数-|Y|若符号位位0商上1左移一位再减去|Y|求下次的部分余数;若符号位是1商上0左移一位再加上|Y|求下次的部分余数
3.整体右移一位
4.循环操作最后一次若商上0要加上|Y|恢复余数五、定点运算器的组成与结构
1.运算器是在控制器的控制下完成数据的算术逻辑运算组成部件一般为算法逻辑部件(ALU核心部件)、暂存器(存放运算数据和结果)、通用寄存器堆访问使用到的数据)、标志寄存器记录运算器上次的结果状态)、内部总线信息通道、可选电路(包括数据选择器、移位器、三态缓冲器)等构成 有单总线、双总线两种结构 数据通路源部件将数据送入总线目的部件从总线接受数据这个过程需要一个CPU周期各个总线源部件的数据输出使能信号不能同时有效即无论何时只允许一个部件将数据送入总线分时享用总线 一个CPU周期内某条总线上的数据必须是唯一且不能保留到下一CPU周期 多端口寄存器堆:能够同时对一组寄存器进行读出或者写入多个数据 标志寄存器
1.ZF(标志为0寄存器):运算结果全为0置1不全为0置0
2.CF(进位/借位寄存器):CF1,发生进位/借位否则置0。只对无符号数运算有意义
3.OF(溢出标志):OF1,溢出OF0无溢出对有符号数运算有意义
4.SF(符号标志):与运算结果的符号位相同对有符号数有用
5.PF(奇偶标志)结果中1的个数为偶数置1否则置0六、浮点运算
1.浮点数运算时一般参与运算的机器数时规格化的计算结果也要时规格化的 2.浮点数加减运算
规则1.指数(E)相同需要对阶且小对大最终以大的为基准 2.尾数进行相加减 3.结果规格化左规或右规 4.舍入处理
舍入处理的方法
1.截断法将多余尾数直接去除
2.末位恒置1法无论多余尾数如何在舍入结果的最末位置置1
3.0舍1入法:多余位最高位为1进1否则舍去
IEEE754浮点数舍入方法
1.向上舍入靠近∞若为正数只要多余位数不全为0则进1若为负数则直接截断法
2.向下舍入靠近-∞若为负数只要多余位数不全为0则进1若为正数则直接截断法
3.向0舍入无论正负均使用截断法不过会累积误差
4.就近舍入即类似于四舍五入乘除运算不涉及... 总结
以上就是今天要讲的内容本文跨时长极大主要是完成各种期末大作业…笔者也正式进入了期末周将持续对计组和数据库的知识点、章节进行持续更新…希望大家多多关注…