第6章 计算机的运算方法

2023-11-08

6.1无符号数和有符号数

6.1.1无符号数

寄存器位数反映无符号数的表示范围
无符号数圆盘

6.1.2有符号数

1.机器数与真值

真值:带符号的数
机器数:符号数字化的数
在这里插入图片描述

2.原码表示法

①整数
在这里插入图片描述
[x]原是n+1位
逗号将符号位和数值部分分隔开
原码圆盘
②小数
在这里插入图片描述
小数点将符号位和数值位分隔开

3.补码表示法

①整数
用补码表示原码的目的是为了寻找负数的等价正数,从而将减法运算转换为加法运算,并且解决了0的原码有2个的问题
在这里插入图片描述
补码圆盘
②小数
在这里插入图片描述
有时候必须用定义求补码,比如说:
1)小数-1.000的补码是1.000(-1.000+2=1.000)
2)求-8的4位补码:[-8]补=[-1000]补=2的4次方+(-1000)=1,000
在这里插入图片描述
针对负数:
原码->补码:除符号位外,各位取反再加一
补码->原码:除符号位外,各位取反再加一

③双符号位补码
在这里插入图片描述
用于阶码运算和溢出判断
④由[y]补求[-y]补
1)整数
除了y=-2的n次方外(需要单独处理,[-y]补的n+1位补码不存在),[-y]的补码为连同符号位在内,每位取反,末位加1
2)小数
除了y=-1.0000,[-y]的补码为连同符号位在内,每位取反,末位加1

4.反码表示法

反码是从原码探索补码过程中的产物
在这里插入图片描述

①整数
在这里插入图片描述
反码圆盘
②小数
在这里插入图片描述
③0的反码
1)小数
在这里插入图片描述
2)整数
在这里插入图片描述

5.移码表示法

补码的表示很难直接判断其真值大小
小数无移码,所以小数补码之间的大小比较只能寻求临界值或者相同符号的补码进行比较
补码和移码只差一个符号位
在这里插入图片描述
用移码表示浮点数的阶码,能方便地判断浮点数的阶码大小

6.2数的定点表示和浮点表示

6.2.1定点表示

小数点按约定方式标出
在这里插入图片描述
前者为小数定点机,后者为整数定点机

6.2.2浮点表示

1.浮点数的表示形式

在这里插入图片描述

S尾数 j阶码 r基值
小数 (可正可负) 整数(可正可负) 取2,4,8,16等
原码或补码 移码或补码
反映精度 反映范围 基值越大,可表示的浮点数范围越大,但精度越低

浮点数实际是用一对定点数(阶码和尾数)来表示
若浮点数未规格化,基数r=2,阶码数值部分为m位,尾数数值部分为n位,阶码和尾数符号各占1位
在这里插入图片描述

2.浮点数的表示范围

上溢:阶码>最大阶码
下溢:阶码<最小阶码 按机器零处理
①非规格化(规格化和非规格化的区别在于尾数的表示形式)
在这里插入图片描述
②规格化
1)最大正数
阶码:0,1111
尾数:0.1111111111
最大正数:0,1111;0.1111111111
真值:2的15次方×(1-2的-10次方)
2)最小正数
阶码:1,0001
注:最小阶码是-15而不是-16的原因:阶码一共5位,且用补码表示,取值范围为[-16,15],最值-16用于处理特殊值,所以实际的阶码取值范围是[-15,15]
尾数(规格化):0.1000000000
尾数(非规格化):0.0000000001
注:因为是规格化,尾数如果是用原码表示,那么第一数位为1,如果用补码表示,符号位要和第一数位不同,与此同时,尾数不能为0,这是因为如果尾数为0,阶码无论何值,该浮点数直接按机器零处理
最小正数:1,0001;0.1000000000
真值:2的-15次方×2的-1次方
3)最大负数
阶码:1,0001
尾数:1.1000000000
最大负数:1,0001;1.1000000000
真值:-2的-15次方×2的-1次方
4)最小负数
阶码:0,1111
尾数:1.1111111111
最大正数:0,1111;0.1111111111
真值:-2的15次方×(1-2的-10次方)
在这里插入图片描述

3.浮点数真值的规格化形式

r=2 尾数最高位为1

基数不同,浮点数的规格化不同

4.浮点数的规格化

r=2 左规 尾数左移1位,阶码减1
右规 尾数右移1位,阶码加1

6.2.3定点数和浮点数的比较

①当位数相同时,浮点数的表示范围大得多
②当浮点数为规格化数时,相对精度高
③浮点数运算步骤多,速度低,线路冗杂
④溢出的判断方法不同,浮点数对阶码进行判断,定点数对数值本身进行判断

机器零:
①当浮点数尾数为0时,不论其阶码为何值,按机器零处理
②当浮点数阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理

6.2.5IEEE 754标准

阶码用移码表示,短实数的偏移量是7FH,换算为十进制就是127
尾数用原码表示,在IEEE中有效位表示为1.fffff…ffff,最高位为1(这个1并不是符号位,而是数值位,所以称为特殊规格化),实际表示中,这个1省略,是一种特殊的规格化
基值的指数e=阶码(写在32位二进制中的二进制位)-127
在这里插入图片描述
在解答题目时,一定记得要写这个表格

6.3定点运算

6.3.1移位运算

在计算机中,移位与加减配合,能够实现乘除运算(小数点不动)

1.逻辑移位

在这里插入图片描述

2.算术移位

有符号数的移位运算
在这里插入图片描述
算术移位规则
在这里插入图片描述

6.3.2加法与减法运算

1.补码的加减法公式

①加法

在这里插入图片描述
红箭头标注的话的意思是,直接进行补码的加法,在运算时,连同符号位一起进行加法运算,进位自然丢掉,不算溢出

②减法

在这里插入图片描述

2.溢出判断

①一位符号位判溢出

1)参加操作的两个数符号相同,其结果的符号与原操作数的符号不同,即为溢出
2)最高有效位进位和符号位的进位异或结果为1,即为溢出/最高位进位和次高位进位异或结果为1,即为溢出

②两位符号位判溢出

在这里插入图片描述
“其余为数值部分”的意思是只需要把最高位变成符号,其余部分包括小数点的位置都不动
例:
在这里插入图片描述

10是下溢
01是上溢

6.3.3乘法运算

在这里插入图片描述
符号位由异或运算求得
数值部分可用加和移位实现,逻辑右移n次,加n次
在这里插入图片描述
由乘数的末位决定被乘数是否与原部分相加,然后右移1位形成新的部分积,同时乘数右移1位,末位移丢,空出高位存放部分积的低位
被乘数只与部分积的高位相加
以上过程即为原码乘法

6.3.4除法运算

在这里插入图片描述
商需左移4次(被除数数值位有几位就左移几次),上5次商

6.4浮点四则运算

6.4.1浮点加减运算

在这里插入图片描述

1.对阶

①求阶差
②对阶原则

小阶向大阶看齐,即小阶的尾数向右移位,每移一位,阶码加1,直到两数的阶码相等为止

2.尾数求和

对阶后的尾数按定点数加减法运算规则求和(差)
双符号位的补码形式进行加减法操作

3.规格化

①规格化数的定义

在这里插入图片描述

②规格化数的判断

在这里插入图片描述

原码 反码 补码
不论正数、负数,第一数位为1 符号位和第一数位不同 符号位和第一数位不同
③左规

尾数是以补码的形式存在的
所以补码的规格化标准是:符号位和第一数位不同
在这里插入图片描述

④右规

在这里插入图片描述

4.舍入

在对阶和规格化的过程中,可能出现尾数末位丢失,引起误差,需考虑舍入

①0舍1入法
②恒置1法

舍入可能导致再次溢出,此时需再做一次右规

5.溢出判断

在这里插入图片描述
阶码溢出的情形总结:
①对阶操作时,小阶看大阶,阶码不会发生溢出
②尾数舍入时,由于舍入原则,如0舍1入法,可能还需要右规,导致阶码增大,可能会引起阶码上溢
③右规可能引起阶码上溢
左规可能引起阶码下溢
④尾数溢出时,结果不一定溢出(双符号位或者是单符号位加减法时符号位产生的进位自然舍去),此时应当右规,若右规之后阶码溢出则结果溢出

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第6章 计算机的运算方法 的相关文章

随机推荐

  • 深度学习机器学习目标检测

    一 目标检测 1 深度学习开发流程 2 应用案例 3 目标检测算法基本流程 二 机器学习 1 机器学习算法能解决那些问题 分类问题 图像识别 垃圾邮件识别 回归问题 各种预测 房价 天气 股价等等 排序问题 推荐 点击率排序 生成问题 图像
  • 完全卸载Android Studio(卸载得干干净净)

    步骤其实很简单 一共三步 但是每一步都需要完成 步骤如下 打开控制面板或腾讯软件管家等执行常规的卸载操作 找到SDK的安装目录手动删除SDK 进入 C Users lt 你的用户名下 gt 目录下 手动删除 android AndroidS
  • github 创建分支,本地代码上传github 服务器上

    git分布式版本控制系统 我第一个接触的版本控制系统是svn 当时觉得版本控制就是这样 直到我遇到了git git是分布式版本控制系统 合适分布式开发 强调个体 速度快 灵活 代码冲突了也比较好解决 最让我喜欢的还是git的分支切换 在gi
  • Python学习.第五天.列表

    Python学习 第五天 列表 前言 一 列表的创建与删除 二 列表的查询操作 1 index 如果查询时列表中存在n个相同元素 只返回元素中的第一个元素的索引 2 获取列表中的单个元素 3 获取列表中的多个元素 4 判断指定元素在列表中是
  • 目标检测之EfficientNet

    本文参考以下链接 如有侵权 联系删除 参考链接 论文 EfficientNet Rethinking Model Scaling for Convolutional Neural Networks EfficientNet Rethinki
  • 获取assert目录下文件名及读取

    从assert文件下获取文件名字 String fl1 getAssets list 第一层 得到数据 images hello txt String fl1 getAssets list 第一层 第二层 得到数据 helloworld t
  • IDEA+MAVEN 打jar包

    目录 一 分类 二 胖包 三 瘦包 一 分类 jar包是分为胖包和瘦包 何为胖包 何为瘦包 首先胖包指的是带依赖的jar包 瘦包就是没有依赖的jar包 二 胖包 1 在pom xml添加如下Maven插件
  • el-select 结合 el-checkBox 实现下拉全选+多选功能

    实现效果如图所示 具体代码如下
  • RabbitMQ重复消费

    造成重复消费的原因 MQ向消费者推送message 消费者向MQ返回ack 告知所推送的消息消费成功 但是由于网络波动等原因 可能造成消费者向MQ返回的ack丢失 MQ长时间 一分钟 收不到ack 于是会向消费者再次推送该条message
  • 每日一题(day1)

    题目链接 方法一 使用栈进行中序遍历 class Solution public int kthSmallest TreeNode root int k stack
  • 决策树算法处理分类及回归问题的原理及python代码实现

    1 决策树原理介绍 通俗的理解 决策树就是对样本集根据某一个维度d和某一个阈值v进行二分 得到二叉树 即为决策树 通过样本训练计算出维度d和阈值v 即可对预测数据进行分类 如果对二叉树的各子节点value值求平均 将平均值赋予待分类样本 即
  • 疯壳-鸿蒙OS单板应用程序开发

    鸿蒙OS单板应用程序开发 疯壳 出品 a 在源码根目录下新建一个testapp的文件夹 在终端输入 mkdir testapp 指令新建一个名为testapp 的文件夹如下 b 进入testapp文件夹 新建一个名为my first app
  • 一个用于拷贝文件并判断是否拷贝成功的批处理文件

    echo off chcp 65001 copy E opencv build x64 vc15 bin opencv videoio ffmpeg420 64 dll windir set err ERRORLEVEL IF err 1
  • pear文件利用 (远程文件下载、生成配置文件、写配置文件) 从一道题看——CTFshow私教 web40

    web40 考点 pear文件包含 pear是PHP的一个扩展 条件 1 有文件包含点 2 开启了pear扩展 可以当他是一个框架 3 配置文件中register argc argv 设置为On 而默认为Off SERVER argv 生效
  • Vue脚手架的创建步骤

    vue cli脚手架 案例一 案例二 一 脚手架简介 Vue脚手架是Vue官方提供的标准化开发工具 开发平台 它提供命令行和UI界面 方便创建vue工程 配置第三方依赖 编译vue工程 1 webpack 前端项目工程化的标志之一就是引入了
  • Robot Arm 机械臂源码解析

    Robot Arm 机械臂源码解析 说明 Robot Arm是我复刻 也是玩的第一款机械臂 用的是三自由度的结构 你可以理解为了三个电机 三轴有自己的一些缺陷 相比于六轴机械臂而言因为结构的缺陷 不能达到空间内的一些点 这些点又叫做奇异点
  • Mybatis Plus入门

    MyBatis Plus介绍 MyBatis Plus 简称MP 是国内人员开发的 MyBatis 增强工具 在 MyBatis 的基础上只做增强不做改变 为简化开发 提高效率而生 特征 无侵入 Mybatis Plus 在 Mybatis
  • 过年不再被逼相亲——我用python给亲戚展示2022的相亲数据

    人生苦短 我用Python 这不是快过年了吗 又到了一年一度的亲戚大考验环节 没对象的他们会问你 找对象了吗 你要是学计算机专业的 他们会问你 会修电脑吗 出去学了点啥他们也会要求 才艺展示一下 我相信大家都躲不过去 既然躲不过去 那直接上
  • 主力吸筹猛攻指标源码_成功率90%以上【主力吸筹+买点提示+使用方法】通达信指标公式源码...

    成功率 90 以上 主力吸筹 买点提示 使用方法 使用方法 当指标出现红绿柱时就要开始关注 未来几天如果紫线上穿黄线 即是买点 紫 线穿过黄线的当天即可买入 此指标成功率极高 90 COLORBLUE VAR1 REF LOW OPEN C
  • 第6章 计算机的运算方法

    6 1无符号数和有符号数 6 1 1无符号数 寄存器位数反映无符号数的表示范围 6 1 2有符号数 1 机器数与真值 真值 带符号的数 机器数 符号数字化的数 2 原码表示法 整数 x 原是n 1位 用逗号将符号位和数值部分分隔开 小数 用