还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
移码与浮点表示计算机如何存储和表示数字?移码和浮点表示是两种常用的数字表示方法数制的表示十六进制二进制八进制十进制十六进制使用到以及09A二进制使用和这两个数01到F共16个数字每个数字八进制使用0到7这八个数十进制使用到这十个数09字每个数字的位置代表一个的位置代表一个权值,从右到字每个数字的位置代表一个字每个数字的位置代表一个权值,从右到左依次为、12左依次为
1、
16、256等权值,从右到左依次为
1、8权值,从右到左依次为、
110、、等
48、等
64、等100位权和二进制位在计算机中,数字是以二进制形式存储的每个二进制位都有一个对应的位权,它表示该位的值乘以的幂次方2例如,十进制数可以表示为二进制数,其中最高位的位权为,最低10101023位的位权为20因此,1010可以表示为1×23+0×22+1×21+0×20=8+2=10移码的表示及特点移码表示特点将真值加上一个常数得到移码常数符号位和数值位统一•的大小等于该数的最高位的值乘以的2便于比较大小•次方,其中为该数的位数n n便于溢出判断•移码算术运算加法运算1移码加法与普通二进制加法相同,直接相加,最高位进位舍弃减法运算2将减数的移码转换为补码,然后与被减数的移码进行加法运算乘法运算3移码乘法与普通二进制乘法相同,直接相乘,最后根据符号位进行调整除法运算4移码除法与普通二进制除法相同,直接相除,最后根据符号位进行调整移码算术运算是在移码表示的基础上进行的,它具有以下特点运算规则简单、便于硬件实现、适合于计算机内部进行数据处理补码的表示及特点表示范围符号位补码能够表示负数,扩展了计算最高位作为符号位,代表正数,0机的表示范围,可以处理正负数代表负数,简化了运算逻辑1运算运算方便溢出判断补码运算规则简单,加减运算统补码运算可以利用最高位的进位一,不需要区分正负数,方便计判断运算结果是否溢出,方便错算机处理误处理补码算术运算加法运算1直接将两个补码相加减法运算2将减数的补码取反加一,并与被减数相加溢出判断3符号位是否发生变化,如果变化则发生溢出补码算术运算基于二进制运算,通过对补码进行加减运算来实现算术运算由于符号位也参与运算,无需特殊处理负数的加减运算,简化了计算机的硬件设计浮点数的表示符号位指数部分尾数部分表示浮点数的正负性,代表正数,代表表示浮点数的基数部分,决定浮点数的范围表示浮点数的有效数字部分,决定浮点数的01负数精度浮点数的标准表示符号位指数位12表示数值的正负,用一位二进制位表示表示浮点数的指数,用若干位二进制位,表示正数,表示负数表示,决定数值的范围01尾数位3表示浮点数的有效数字,用若干位二进制位表示,决定数值的精度浮点数的表示范围浮点数的表示范围受到指数部分的位数限制,影响着可以表示的最大和最小值10^3810^-38最大值最小值单精度浮点数的最大值约为
3.4×10^38单精度浮点数的最小值约为
1.4×10^-4510^30810^-308最大值最小值双精度浮点数的最大值约为
1.8×10^308双精度浮点数的最小值约为
4.9×10^-324浮点数的精度有限的位数浮点数使用有限的位数来表示小数部分舍入误差精度受限,导致舍入误差,影响计算结果的准确性影响因素浮点数的精度受指数位和尾数位的位数影响浮点数的运算对阶将两个浮点数的阶码调整到一致,使它们的尾数能够进行加减运算尾数运算对阶完成后,根据运算符进行尾数的加减乘除运算规格化运算结果可能出现非规格化的形式,需要将其规格化,确保结果的正确性和精度舍入由于浮点数的表示精度有限,运算结果可能需要舍入,以保证结果的有效性浮点数的舍入错误精度限制舍入模式12浮点数表示的精度有限,导致不同的舍入模式会导致结果略舍入误差微不同,如四舍五入或向下取整累积误差3多次运算后,舍入误差会累积,可能导致最终结果严重偏差浮点数的上溢和下溢上溢下溢当浮点数的值超过了其表示范围的最大值时,就会发生上溢例当浮点数的值小于了其表示范围的最小值时,就会发生下溢例如,在单精度浮点数中,如果计算结果超过了
3.402823×1038,如,在单精度浮点数中,如果计算结果小于了
1.175494×10-38则会发生上溢,则会发生下溢浮点数标准的发展早期浮点数标准1早期浮点数标准通常由不同的计算机厂商定义,导致程序移植性和数据交换问题标准IEEE7542年,标准成为浮点数表示的行业标准,解决兼容1985IEEE754性和精度问题扩展和改进3近年来,随着对更高精度和性能的需求,标准不断扩IEEE754展和改进,以满足新兴应用浮点数标准IEEE754统一标准广泛采用标准,也被称为浮点数标准,由美国该标准被几乎所有现代计算机系统所采用,为IEEE754“”电气与电子工程师协会()制定浮点数的表示和运算提供了统一规范IEEE精度与范围运算规则标准定义了单精度(位)和双精度(位)标准还规定了浮点数的各种运算规则,包括加3264两种格式,分别提供不同的精度和表示范围、减、乘、除以及特殊值处理等单精度浮点数IEEE754符号位指数位单精度浮点数使用位表示符号使用位来存储指数,采用移码18,其中表示正数,表示负数表示,偏移量为01127尾数位使用位存储尾数,采用规格化表示,隐含的最高位始终为231双精度浮点数IEEE754符号位指数位尾数位表示数值的正负,占位表示浮点数的指数部分,占位表示浮点数的尾数部分,占位11152中间值和舍入模式舍入模式舍入方向
11.
22.舍入模式决定了如何处理浮点舍入方向可以是向上、向下、数运算过程中产生的中间值,向零、向偶数等,不同的舍入例如,将一个数四舍五入到最方向会导致不同的结果近的浮点数中间值舍入精度
33.
44.在浮点数运算中,中间值是指舍入精度是指舍入模式应用于在最终结果产生之前生成的临中间值的程度,例如,舍入到时数值小数点后几位浮点数的运算法则浮点数加法浮点数减法浮点数乘法浮点数除法对阶,尾数相加,规格化将减数符号取反,转为加法运尾数相乘,阶码相加,规格化尾数相除,阶码相减,规格化算浮点数加法运算对阶1将两个浮点数的阶码对齐尾数相加2将对阶后的两个浮点数的尾数相加规格化3将结果规格化,保证尾数的最高位为1舍入4将结果舍入到指定的精度浮点数加法运算的过程类似于整数加法运算,但需要额外的步骤来处理阶码和尾数的差异例如,将两个浮点数
1.234e+2和
5.678e+1相加首先,对阶,将两个浮点数的阶码对齐,得到
1.234e+2和
0.5678e+2然后,将两个浮点数的尾数相加,得到
1.8018e+2最后,将结果规格化,得到
1.8018e+2浮点数减法运算对阶1将两个操作数的指数部分对齐,使它们具有相同的指数,以便于进行减法运算尾数相减2对阶完成后,对两个操作数的尾数部分进行减法运算规格化3减法运算的结果可能需要进行规格化,以确保结果满足浮点数的标准表示形式浮点数乘法运算符号位1异号则结果为负,同号则结果为正尾数相乘2将两个尾数相乘,并对结果进行规格化阶码相加3将两个阶码相加,并加上两个尾数相乘后产生的进位舍入处理4由于结果可能会超出浮点数的表示范围,需要进行舍入处理浮点数的乘法运算比较复杂,需要考虑符号位、尾数、阶码等多个因素由于浮点数的表示范围和精度有限,在进行乘法运算时,可能会出现舍入错误或溢出错误浮点数除法运算对阶将两个浮点数的指数部分调整到一致,以便进行除法运算尾数相除将两个浮点数的尾数部分进行除法运算,得到结果的尾数部分指数运算将结果的指数部分根据除法运算规则进行计算,得出结果的指数部分规格化对结果的尾数部分进行规格化处理,使其满足浮点数的表示规范浮点数的特殊值零无穷大特殊值的应用NaN浮点数表示的零值可以是正零浮点数表示的无穷大,用于表表示非数字,用于表示特殊值在浮点数的计算和处理NaN“”或负零,由符号位决定它们示超出浮点数表示范围的数值无法表示为有效数值的结果,中扮演重要角色,例如在异常在数值上相等,但表示不同的,例如除以零或计算结果超过例如除以或计算结果超检测、边界处理、数据分析等00极值或边界情况了浮点数的最大值出浮点数的最大值方面浮点数的比较精度限制浮点数的精度有限,可能导致比较结果不精确,例如两个接近的浮点数可能会被视为相等特殊值NaN和无穷大等特殊值需要特殊处理,比较时要谨慎比较方法•直接比较,但可能导致精度问题•使用容差值,比较两个浮点数之间的差值是否小于容差值•使用特定函数,例如`isclose`或`allclose`浮点数的应用科学计算图形处理用于表示非常大的数字或非常小的数字,例如天体物理学、量子物用于表示像素的颜色、位置、大小等信息,例如图像处理、计算机理学图形学金融领域人工智能用于表示货币金额、利率、投资回报率等信息,例如股票交易、银用于表示神经网络模型的参数,例如机器学习、深度学习行业务浮点数的优缺点优点缺点广泛应用于科学计算、图形处理等领域,效率高可表示很大的范精度有限,存在舍入误差无法准确表示某些数值,可能导致结果围,方便处理各种数据偏差浮点数的发展趋势精度提高扩展范围
11.
22.未来浮点数将继续提高精度,更准确地表示真实世界的数字浮点数表示范围将进一步扩展,以处理更大的数字和更小的数字硬件加速标准统一
33.
44.随着硬件技术的进步,浮点数运算将得到加速,提高效率和浮点数标准将更加统一,减少不同平台之间的数据兼容性问性能题总结与思考移码和补码浮点数表示移码和补码是计算机中重要的数据表示形式,它们在算术运算中发浮点数表示是计算机中用来表示实数的一种方法,它可以表示非常挥重要作用大或非常小的数字标准浮点数的应用IEEE754IEEE754标准是目前最广泛使用的浮点数标准,它定义了浮点数的浮点数在科学计算、工程设计、图形处理等领域都有着广泛的应用表示格式和运算规则问答环节请各位积极提问,分享您的想法和疑问让我们一起探讨移码、浮点数表示以及相关问题欢迎大家提出任何与本主题相关的疑问。
个人认证
优秀文档
获得点赞 0