还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
移码与浮点表示课程目标理解移码表示掌握浮点数表示掌握移码的定义、原理和应用理解浮点数的组成、表示方法和范围学习标准IEEE754熟悉IEEE754标准的单精度、双精度和扩展格式数值表示概述计算机中,数值以二进制形式存储和处理,但对于不同的数据类型,其表示方式有所不同例如,整数、浮点数和字符分别采用不同的编码方式数值表示方式直接影响着计算机的运算效率和数据精度,因此理解不同数值类型的表示方法至关重要整数的存储与表示二进制表示1计算机使用二进制系统存储和处理信息,将整数转换为二进制形式补码表示2负整数通常使用补码表示,以简化加减运算定点数表示3定点数将小数点固定在某个位置,适用于表示整数或小数移码原理数值范围扩展比较大小简化移码将原码符号位不变,其余各位取反后加1,并将原码的0值转换为移码将所有负数的符号位变为1,正数的符号位变为0,使得比较大小全0,有效扩展数值表示范围更直观,方便计算机处理正数移码概念特点正数的移码等于其真值加上$2^n$,其中$n$为该数的位数例如正数移码的最高位始终为1,便于判断正负数,也方便比较大小,8位正数10的移码为10+128=138,用二进制表示为10001010负数移码负数真值补码移码-1111111111000000100000001-2111111101000001000000010-3111111011000001100000011移码的优缺点优点缺点•简化比较操作•表示范围有限•便于硬件实现•运算复杂度较高浮点数概述浮点数是计算机中用于表示实数的一种数据类型,它可以表示小数、指数形式的数,以及超出整数范围的数浮点数的表示方式与整数不同,它通常由三个部分组成符号位、指数位和尾数位浮点数的优点是可以表示更广泛的数值范围,但同时也会引入精度问题浮点数的组成符号位指数位尾数位表示浮点数的正负号,用一位二进制数表示表示浮点数的指数部分,用若干位二进制数表示浮点数的有效数字部分,用若干位二进,0代表正数,1代表负数表示,决定浮点数的范围制数表示,决定浮点数的精度浮点数表示符号位1表示正负指数位2表示小数点位置尾数位3表示小数部分浮点数的范围2^32-2^32范围范围最大值最小值归一化浮点数小数点前移尾数部分阶码部分将浮点数的小数点移到第一个非零数字的移动后的数字称为尾数部分,表示浮点数记录小数点移动的位数,用来表示浮点数右边的有效数字的量级规格化浮点数定义1阶码部分不全为0,也不全为1优点2提高精度,避免表示相同的数示例3例如,
1.25可以用规格化的浮点数表示为
1.25×10^0舍入误差精度限制舍入规则12浮点数的表示范围有限,无法精不同的舍入规则会导致不同的舍确地表示所有实数,导致舍入误入误差,例如,向零舍入、向偶差数舍入等累积误差3多个运算的舍入误差可能会累积,导致最终结果的误差较大浮点数四则运算加法将两个浮点数的尾数对齐,然后进行加减运算减法将减数的符号取反,然后执行加法运算乘法将两个浮点数的尾数相乘,并将指数相加除法将被除数的尾数除以除数的尾数,并将指数相减浮点数加法123对阶尾数相加规格化将两个浮点数的阶码对齐,使它们具有相将对阶后的两个浮点数的尾数相加将加法结果规格化,确保尾数的最高位为同的阶码1浮点数减法对阶1将两个操作数调整到相同的阶码,较小的阶码向较大的阶码对齐尾数相减2将对阶后的两个尾数进行减法运算规格化3对减法结果进行规格化处理,确保尾数的最高位为1舍入4如果结果超出表示范围,则进行舍入操作浮点数乘法对阶1将两个浮点数的阶码对齐,使它们具有相同的阶码尾数相乘2将两个浮点数的尾数相乘,得到乘积的尾数规格化3将乘积的尾数规格化,并将阶码调整为正确的值舍入4如果乘积的尾数超过了规定的位数,则需要进行舍入操作浮点数除法对阶1将除数和被除数调整到相同的阶码尾数相除2将对阶后的尾数进行除法运算规格化3将结果进行规格化处理,保证结果的精度和范围浮点标准IEEE754统一规范精度控制异常处理IEEE754标准定义了浮点数的表示、存储、该标准规定了单精度、双精度和扩展精度浮标准定义了浮点运算中的异常情况,例如溢以及运算规则,确保不同平台之间数据交换点数格式,以满足不同的精度需求出、下溢、零除等,并规定了相应的处理方的兼容性法单精度格式IEEE754符号位指数位尾数位占1位,表示数的正负,0代表正数,1代表占8位,用来表示指数的大小,采用移码表占23位,表示数值的有效数字部分,采用规负数示,偏移量为127格化表示,最高位为1双精度格式IEEE754符号位指数位121位表示正负号11位,表示指数,使用移码表示尾数位352位,表示小数部分,使用规格化表示扩展格式IEEE754扩展精度多重格式硬件支持扩展精度浮点数格式提供更高的精度和更IEEE754标准定义了多种扩展格式,例并非所有硬件平台都支持扩展精度浮点数大的数值范围,适用于科学计算和高精度如四精度quadruple precision和八格式,需要根据具体平台的特性进行选择数据处理精度octuple precision,以满足不同的精度需求浮点数的异常处理溢出下溢非数当结果超出浮点数表示范围时,会发生溢出当结果太小,无法用浮点数表示时,会发生当结果是非法运算的结果,例如0/0,则会,导致结果无法表示下溢,导致结果被舍入为零得到NaN(非数)结果总结移码和浮点数表示是计算机科学中重要的概理解移码和浮点数可以帮助我们更好地理解学习移码和浮点数可以为我们学习更高级的念计算机如何处理数字计算机科学课程打下基础思考题
1.移码表示法与原码、反码、补码相比有哪些优缺点?
2.浮点数表示法中,为什么需要规格化?
3.舍入误差是如何产生的?如何尽量避免舍入误差带来的影响?
4.IEEE754标准是如何定义浮点数的?它有哪些优势?
5.为什么在实际应用中,需要对浮点数进行异常处理?参考文献计算机科学基础程序设计语言计算机体系结构深入探讨计算机科学的基本原理,包括数据介绍各种程序设计语言的语法、语义和应用解释计算机系统的硬件组成和工作原理,包结构、算法、操作系统等,帮助学习者掌握编程技能括CPU、内存、存储器等。
个人认证
优秀文档
获得点赞 0