文章目录
计算机组成原理 —— 计算篇
进制运算的基础知识
进位制:即进制,是一种计数方式,亦称进位计数法,有限种数字符号来表示无限的数值。
关于进制转换推荐看文:https://blog.csdn.net/meegomeego/article/details/49948241
二进制数据的表示方法
a.有符号数和无符号数
原码表示法:0表示正数,1表示负数,规定符号位位于数值的第一位;表达简单,容易理解,但运算复杂。
b.二进制的补码表示法
引入目的:
为了消除减法(未完全实现)引入补码的概念,使用正数代替负数。
规律:负数的补码等于反码+1,如十进制数-7,反码表示为1,1000,补码表示为1,1001。
举个小例子计算题:
c.二进制的反码表示法
引入目的:
找出原码和补码之间的规律,消除转换过程中的减法操作。
规律:负数的反码等于原码除符号位外按位取反,如十进制数-7,原码表示为1,0111,反码表示为1,1000。
举个小例子计算题:
掌握补码计算的方法,以及通过补码求原码,然后求真值的方法。
1)通过原码求补码:符号位不变,各位取反,末位加1;
2)通过补码求原码:符号位不变,各位取反,末位加1;
d.小数的二进制补码表示
定义:
上述两个整数的反码补码计算规律同样适用。
二进制数据的运算
a.定点数与浮点数
定点数:小数点固定在某个位置。
浮点数的表示格式:符号、阶码、尾数
浮点数的表示范围:
float的指数范围为-127+128,而double的指数范围为-1023+1024
单精度:
规格化浮点数的表示范围(最大正数、最小正数、最大负数、最小负数)的计算方法。
阶码最大范围 X 尾数最小范围 =| 最大正数 |(绝对值)
阶码最大范围 X 尾数最小范围 = 最大负数
阶码最小范围 X 尾数最大范围 =| 最小正数 |(绝对值)
阶码最小范围 X 尾数最大范围 = 最小负数
其中大于浮点数绝对值最大的数为上溢,小于绝对值最小的数据为下溢。
浮点数的规格化:尾数使用纯小数、尾数最高位必须是1。
b.定点数的加减法运算
加法运算:数值位与符号位一同运算,并将符号位产生的进位自然丢掉(模2^n舍去)。
举两个小栗子计算题(整数和小数):
减法运算:将B[补码]转换成-B[补码]来计算,其中-B[补码]=B[补码]连同符号按位取反,末尾加1,例如B[补码]=1,0010101 ,则-B[补码]=0,1101011。
举个小栗子计算题:
c.浮点数的加减法运算
步骤:对阶(使得阶码一致,尾数才可以运算)–>尾数求和–>尾数规格化–>舍入–>溢出判断
运算:先进行对阶,后与定点数的加减法相同。
举个小栗子计算题:
d.浮点数的乘除法运算
乘法:阶码相加,尾数求积。
除法:阶码相减,尾数求商。