计算机组成原理之计算篇


img

进制运算的基础

  • 进制概述
  • 二进制运算的基础

img

进制概述

  • 进位制是一种计数方式,亦称进位计数法或位值计数法

  • 有限种数字符号来表示无限的数值

  • 使用的数字符号的数目称为这种进位制的基数或底数

n=10[0-9]称为十进制

imgimgimgimg

  • 计算机喜欢二进制,但是二进制表达太长了

  • 使用大进制位可以解决这个问题

  • 八进制、十六进制满足2的n次方的要求

img

二进制数据的表示方法

二进制运算的基础

imgimgimgimgimgimgimg

有符号数与无符号数

负数怎么办?

+表示正数,-表示负数

imgimgimg

有符号数与无符号数

原码表示法

  • 使用0表示正数、1表示负数

  • 规定符号位位于数值第一位

  • 表达简单明了,是人类最容易理解的表示法

0有两种表示方法:00、10

原码进行运算非常复杂,特别是两个操作数符号不同的时候

  • 判断两个操作数绝对值大小

  • 使用绝对值大的数减去绝对值小的数

  • 对于符号值,以绝对值大的为准

希望能找到不同符号操作数更加简单的运算方法

希望找到使用正数代替负数的方法

使用加法操作代替减法操作,从而消除减法

二进制的补码表示法

img例子1:n=4 , x=13 ,计算x的二进制原码和补码

img

例子2:x=-13,计算x的二进制原码和补码

img

例子3:x=-7,计算x的二进制原码和补码

img

例子4:x=-1,计算x的二进制原码和补码

img

二进制的补码表示法

img

在负数的补码计算过程中,还是使用了减法

img

二进制的反码表示法

  • 减法运算复杂,希望找到使用正数替代负数的方法
  • 使用假发代替减法操作,从而消除减法

imgimg

反码的目的是找出原码和补码之间的规律,消除转换过程中的减法。

img

反码与补码的区别

img

imgimg

正数的补码和反码都是它本身

负数的反码等于原码除符号位外按位取反

负数的补码等于反码+1

img

img

小数的补码

imgimg

img

定点数与浮点数

  • 定点数的表示方法

  • 浮点数的表示方法

  • 定点数与浮点数的对比

定点数的表示方法

  • 小数点固定在某个位置的数称为定点数

img

img

img

浮点数的表示方法

  • 计算机处理的很大程度上不是纯小数或纯整数
  • 数据范围很大,定点数难以表达

浮点数的表示格式

img

img

img

浮点数的表示范围

img

img

浮点数的表示范围

单精度浮点数:使用4字节、32位来表达浮点数(float)

双精度浮点数: 使用8字节、64位来表达浮点数(double)

浮点数的规格化

imgimg

img

这下面的不能这样做

imgimg

定点数与浮点数的对比

  • 当定点数与浮点数位数相同时,浮点数表示的范围更大

  • 当浮点数尾数为规格化数时,浮点数的精度更高

  • 浮点数运算包含阶码和尾数,浮点数的运算更为复杂

img

定点数与浮点数

  • 定点数的表示方法

  • 浮点数的表示方法

  • 定点数与浮点数的对比

img

imgimgimgimgimgimgimgimgimgimgimgimg

浮点数的加减法运算

img

对阶

  • 浮点数尾数运算简单

  • 浮点数位数实际小数位与阶码有关

  • 阶码按小阶看齐大阶的原则

对齐的目的是使得两个浮点数阶码一致,使得尾数可以进行运算

img

img

尾数求和

  • 使用补码进行运算
  • 减法运算转化为加法运算:A-B = A+(-B)

img

尾数规格化

imgimg

尾数规格化(右移)

imgimgimgimgimgimgimgimgimgimgimgimgimgimg


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM