你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

考研复试—计算机组成原理第二章

2022/5/10 9:36:49

第二章数据的表示和运算

1、IEEE754标准浮点数
在这里插入图片描述
2、C语言中的浮点数类型及类型转换
C语言中的float和double类型分别对应于IEEE 754单精度浮点数和双精度浮点数。Long double类型对应于扩展双精度浮点数,但long double的长度和格式随编译器和处理器类型的不同而有所不同。在C程序中等式的赋值和判断中会出现强制类型转换,以char—>int—>long—>double和float—>double最为常见,从前到后范围和精度都从小到大,转换过程没有损失。
(1)从Int转换为float时,虽然不会发生溢出,但int可以保留32位,float保留24位,可能有数据舍入,若从int转换为double则不会出现。
(2)从Int或float转换为double时,因为double的有效位数更多,因此能保留精确值。
(3)从double转换为float时,因为float表示范围更小,因此可能发生溢出。此外,由于有效位数变少,因此可能被舍入。
(4)从float或double转换为int时,因为int没有小数部分,所以数据可能会向0方向被截断(仅保留整数部分),影响精度。另外,由于int的表示范围更小,因此可能发生溢出。
3、在计算机中,为什么要采用二进制来表示数据?
从可行性来说,采用二进制,只有0和1两个状态,能够表示0、1两种状态的电子器件很多,如开关的连通和断开、晶体管的导通和截止、磁元件的正负剩磁、电位电平的高与低等,都可表示0、1两个数码。使用二进制,电子器件具有实现的可行性。
从运算的简易性来说,二进制数的运算法则少,运算简单,使计算机运算器的硬件结构大大简化。
从逻辑上来说,由于二进制0和1正好和逻辑代数的假和真相对应,有逻辑代数的理论基础,用二进制表示二值逻辑很自然。
4、各编码方式的数值范围
在这里插入图片描述