计算机组成原理之计算篇
作者:互联网
进制运算的基础
- 进制概述
- 二进制运算的基础
进制概述
-
进位制是一种计数方式,亦称进位计数法或位值计数法
-
有限种数字符号来表示无限的数值
-
使用的数字符号的数目称为这种进位制的基数或底数
n=10[0-9]称为十进制
-
计算机喜欢二进制,但是二进制表达太长了
-
使用大进制位可以解决这个问题
-
八进制、十六进制满足2的n次方的要求
二进制数据的表示方法
二进制运算的基础
有符号数与无符号数
负数怎么办?
+表示正数,-表示负数
有符号数与无符号数
原码表示法
-
使用0表示正数、1表示负数
-
规定符号位位于数值第一位
-
表达简单明了,是人类最容易理解的表示法
0有两种表示方法:00、10
原码进行运算非常复杂,特别是两个操作数符号不同的时候
-
判断两个操作数绝对值大小
-
使用绝对值大的数减去绝对值小的数
-
对于符号值,以绝对值大的为准
希望能找到不同符号操作数更加简单的运算方法
希望找到使用正数代替负数的方法
使用加法操作代替减法操作,从而消除减法
二进制的补码表示法
例子1:n=4 , x=13 ,计算x的二进制原码和补码
例子2:x=-13,计算x的二进制原码和补码
例子3:x=-7,计算x的二进制原码和补码
例子4:x=-1,计算x的二进制原码和补码
二进制的补码表示法
在负数的补码计算过程中,还是使用了减法
二进制的反码表示法
- 减法运算复杂,希望找到使用正数替代负数的方法
- 使用假发代替减法操作,从而消除减法
反码的目的是找出原码和补码之间的规律,消除转换过程中的减法。
反码与补码的区别
正数的补码和反码都是它本身
负数的反码等于原码除符号位外按位取反
负数的补码等于反码+1
小数的补码
定点数与浮点数
-
定点数的表示方法
-
浮点数的表示方法
-
定点数与浮点数的对比
定点数的表示方法
- 小数点固定在某个位置的数称为定点数
浮点数的表示方法
- 计算机处理的很大程度上不是纯小数或纯整数
- 数据范围很大,定点数难以表达
浮点数的表示格式
浮点数的表示范围
浮点数的表示范围
单精度浮点数:使用4字节、32位来表达浮点数(float)
双精度浮点数: 使用8字节、64位来表达浮点数(double)
浮点数的规格化
这下面的不能这样做
定点数与浮点数的对比
-
当定点数与浮点数位数相同时,浮点数表示的范围更大
-
当浮点数尾数为规格化数时,浮点数的精度更高
-
浮点数运算包含阶码和尾数,浮点数的运算更为复杂
定点数与浮点数
-
定点数的表示方法
-
浮点数的表示方法
-
定点数与浮点数的对比
浮点数的加减法运算
对阶
-
浮点数尾数运算简单
-
浮点数位数实际小数位与阶码有关
-
阶码按小阶看齐大阶的原则
对齐的目的是使得两个浮点数阶码一致,使得尾数可以进行运算
尾数求和
- 使用补码进行运算
- 减法运算转化为加法运算:A-B = A+(-B)
尾数规格化
尾数规格化(右移)
标签:计算机,二进制,浮点数,补码,计算,定点数,原理,原码,运算 来源: https://www.cnblogs.com/xiaochenNN/p/15314095.html