计组笔记 —— 数据表示与运算(除校验码部分)

数据表示与运算

2.1数据的表示

总览

数据表示的三个方面的问题

  1. 采用什么进制
  2. 怎样表示带符号数
  3. 小数点如何处理

下图补充进制相关知识
在这里插入图片描述
例子
在这里插入图片描述
BCD码是8421码,虽然在这里不太重要

进制转换

在这里插入图片描述
首要原则:整数部分和小数部分分开转换

十进制转化为n进制数 ps: 一般是二进制

个人记忆方法:

整数部分除n取余,从下到上

(因为计算的时候会有很多中间的1或者0,整数部分是从后往前写的)

小数部分乘n取整,从上到下

(小数部分则相反,从前往后取)

n进制转成10进制

按照原本的进制数,用n的多少次方对应相加

二进制/八进制/十六进制的转换

3位二进制数 <–> 1位八进制数

4位二进制数 <–> 1为十六进制数

图中例题

在这里插入图片描述

码制

补充两个概念

真值:日常书写的带"+","-"的数值

机器数:将符号数字话作为最高位的数,用于计算机内部

”+“用0表示 (-1的0次方)

“-"用1表示 (-1的1次方)

原码

真值的符号数字化后直接表示

整数高位补0,小数低位补0

反码

正数反码:与原码相同!

负数反码:符号位不变,数值为按位求反!!

补码

正数补码:与原码相同!

负数补码:负数反码的末位加1

移码

看图,并不是重点
在这里插入图片描述

例题

在这里插入图片描述

定点数

定点数就是小数点位置固定不变的数

**注意!计算机中不存在小数点!**小数点只是我们书写时候具有提示作用而已

精度:能有效表示数与数之间的最小差值
在这里插入图片描述

浮点数的表示

在这里插入图片描述
左规和右规就是移动小数点,但是注意是叫法是针对尾数的,不是针对小数点移动方向的!

科学表示法就是科学计数法,R的E次方类似在10进制里10的E次方,而M为科学计数法另外一边,只不过变成了二进制了而已

左规和右规的规则

对于原码:不论正负,第一数位为1

对于补码,符号位要与第一位不同

尤其是出现了01.XXX或者是10.XXXX时,需要右规,此时,双符号位的第一位才是真正的符号,后面是溢出的

特殊情况以及浮点数与定点数的对比

在这里插入图片描述
127 = 2的7次方 - 1浮点数表示范围对应上面的公式

浮点数表示的IEEE 754标准

当前的计算机都采用统一的 IEEE754标准表示浮点数

e = E - 127

E有8位,M必须是一个1.几1.后面的数
在这里插入图片描述

特殊的IEEE 754浮点数和例题

注意: IEEE的阶码不能全取1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字符型数据表示

从前有ASCII码,现在有什么UTF - 8 等,具体看图就可
在这里插入图片描述

数据的运算方法

运算基本概念

  • 算术运算

有符号运算,加减乘除等数学运算

  • 逻辑运算

与或非异或等操作

  • 移位运算

左移右移等
在这里插入图片描述

定点数的四则运算

需要注意的是: 在计算机中,顶点加减运算都采用补码!

补码加减运算的基本关系式

(X + Y)补 == X补 + Y补

(X - Y)补 == X补 + (-Y)补

需要注意的是,若题目给出了数的原码,那就使用上面两条公式,若给出了补码

则(X - Y)补 == (X补)补 + (-Y补)补!!!
在这里插入图片描述

溢出判断

什么是溢出?

数据的值超出机器数的表示范围的情况就叫溢出

正溢/上溢 ——数值大于允许的最大正值

负溢/下溢——数值小于允许的最小负值

应该明确

对于加法,只有符号相同的两个数相加才可能溢出;对于减法,只在符号不同的两个数相减才有可能溢出

在这里插入图片描述
在这里插入图片描述
稍微解释一下,图中的数,一共5位,第一位是符号位,不难发现溢出的时候导致符号位改变了或者是直接多了一位,所以就溢出了

溢出判断的方法
进位判断法(单符号位判断法)

在这里插入图片描述

双符号位补码判断法(变形补码判断法)

变形补码

采用两个符号位的补码,正数用00表示,负数用11表示

当计算之后结果的符号变成了 01或10,就表示发生了溢出

在这里插入图片描述

变形补码判断溢出例题

在这里插入图片描述

舍入处理

看图吧,舍入的规则很多,不多赘述
在这里插入图片描述

定点数乘法

其实手写定点数乘法时还是很简单的,按照习惯上用乘法竖式写,然后来乘着算就行了

不过需要注意原码乘法运算的符号

在这里插入图片描述

原码一位乘法

在这里插入图片描述

补码一位乘法

在这里插入图片描述

原码两位乘法

在这里插入图片描述

定点除法运算

在这里插入图片描述

浮点四则运算

个人感觉浮点四则运算里,最重要的应该就是浮点数的加法和减法了;因为乘法和除法与加减法很类似
在这里插入图片描述

浮点加减运算

步骤:

  1. 0操作数检查,如果操作数有一个为0,那就不用算了
  2. 对阶(要想对阶就要求阶差!!!);对阶规则:小阶向大阶对齐!!!即把阶数小的变成大的
  3. 位数相加/减
  4. 结果规格化 要点: 原码不论正负第一位数为1;补码:符号位与第一数位不同
  5. 溢出、舍入处理 注意:浮点数的溢出是看阶码是否溢出!!!
浮点数运算例题

只做第一小题,这个题已经很具有普遍性了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2009 - 13也可直接算 ,最后发现没有答案,也只能选D
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打字解释一下2015 - 14

1. 因为对阶的时候阶码本身就是合法的,对阶是不会影响的
2. 右规小数点数右移一位,那么指数就要加1,有可能上溢;舍入其实也相当于进位了(截断),也是上溢
3. 左规小数点左移一位,指数就要减一,有可能下溢
4. 尾数溢出时结果不一定溢出也是对的;浮点数是否溢出是看的阶码,不是看尾数

在这里插入图片描述
在这里插入图片描述

打字解释2014 - 13
首先,只有两个符号相同的数相加或者是符号不同的数相减才有可能溢出,A不能选,D也不能选
然后是补码表示,范围是-2的n次方~2的n-1次方,所以-128能取,但是128取不到,所以选C

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值