二、数据的表示和运算

在这里插入图片描述

计算机中的信息表示

原码: 用最高位表示该数的正负,其余各位表示数的绝对值。
反码: 正数与源码相同,负数符号位不变,数值部分按位取反
补码: 正数与源码相同,负数符号位不变,数值部分按位取反+1
移码: 移码常用来表示浮点数的阶码。移码就是在真值上加上一个常数,这个常熟通常取2的N次方。

数值

在计算机中,为什么采用二进制来表示数据

从可行性来说,采用二进制,只有0和1两个状态,能够表示0,1 两种状态的电子器件很多,如开关的接通和断开,晶体管的导通和截止,电位电平的高与低等,都可以表示0,1两个数码。使用二进制,电子期间具有实现的可行性。
从运算的简易性来说,二进制的运算法则少,运算简单,使计算机运算器的硬件结构大大简化。
从逻辑上来说,由于二进制0和1正好和逻辑代数的假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。

计算机在字长足够的情况下能够精确地表示每个数吗

计算机采用二进制来表示数据,在字长足够时,可以表示任何一个整数。
而二进制表示小数时只能用1/(2^n)的和的任意组合表示,即使字长很长,也不能精确表示出所有小数,只能无限逼近。

字符

由于计算机内部只能识别和处理二进制代码,所以字符都必须按照一定的规则用一组二进制编码来表示。

ASCII码

目前国际上采用的是一种7位二进制编码的ASCII码,一共128个字符

定点数

带符号的定点小数:约定所有数的小数点的位置固定在符号位之后
带符号的定点整数:约定所有数的小数点的位置固定在最低数位之后。
无符号定点整数:约定所有数的小数点的位置固定在最低数位之后。

浮点数

小数点的位置可按需要浮动

表示

在这里插入图片描述
阶码:用整数形式表示,指明小数点在数据中的位置,决定浮点数的表示范围。
尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度。
浮点数的真值:在这里插入图片描述
R为阶码底,默认为2;E为阶码;M为尾数

规格化

对于同一个小数,我们可以有多种表示方法,如:
在这里插入图片描述
规格化表示规定,尾数最高有效位为1。
尾数最高有效位为1,隐藏,并且隐藏在小数点的左边。
在这里插入图片描述

左规

当浮点数运算的结果为非规格化时要进行规格化处理,将尾数左移一位,阶码减1.

右规

当浮点数运算结果尾数出现溢出时,将尾数右移一位,阶码加1.

IEEE标准

32位浮点数的标准格式为:(阶码8位,尾数23位)
在这里插入图片描述
64位浮点数的标准格式为:(阶码11位,尾数52位)
在这里插入图片描述

运算

定点数的加减运算

数用补码表示,符号位参加运算
在这里插入图片描述
在这里插入图片描述

定点数的乘除法

原码一位乘法:

符号:对符号位进行异或
每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。
在这里插入图片描述

补码一位乘法:

在这里插入图片描述

区别

在这里插入图片描述

定点数的除法

原码恢复余数法
原码不恢复余数法
补码不恢复余数法

浮点数加减运算

对阶

使两数阶码相等(小数点实际位置对齐,尾数对应权值相同)。
小阶向大阶对齐。
小阶阶码增大,尾数右移

校验

奇偶校验

增加一个校验位,使1有奇数个

海明校验

多重奇偶校验,可以确定错位的位置

循环冗余校验

校验码除以某约定代码,能除尽则表明代码正确,否则可用余数指明出错位置。

将待编码的K位有效信息M(x)左移r位,得M(x)·xr,空出r位,以拼装将求得的r位余数。
选取一个r+1位的生成多项式G(x),对M(x)·xr做模2除。
将左移r位的待编码信息,与余数R(x)做模2加,拼接为包含有效信息在内的CRC校验码。

算数逻辑单元

在计算机中,运算器承担了执行各种算术和逻辑运算的工作,运算器由算术逻辑单元 (Arithmetic Logic Unit, ALU)、累加器、状态寄存器和通用寄存器组等组成。ALU的基本功能包 括加、减、乘、除四则运算,与、或、非、异或等逻辑运算,以及移位、求补等操作。

一位全加器

全加器(FA)是最基本的加法单元,有加数爲、加数及与低位传来的进位

串行加法器

在串行加法器中,只有一个全加器,数据逐位串行送入加法器中进行运算。

并行加法器

并行加法器由多个全加器组成,其位数与机器的字长相同,各位数据同时运算。

ALU

ALU是一种功能较强的组合逻辑电路,它能进行多种算术运算和逻辑运算。由于加、减、乘、 除运算最终都能归结为加法运算,因此ALU的核心首先应是一个并行加法器,同时也能执行“与” “或” “非”等逻辑运算。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值