网站大量收购闲置独家精品文档,联系QQ:2885784924

第一部分二进制及其运算+.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一部分二进制及其运算

[例]若浮点数x的二进制存储格式为16,求其32位浮点数的十进制值。 ?解:将16进制数展开后,可得二进制数格式为 0100 0001 0011 0110 0000 0000 0000 0000 ?????????? 阶码(8位)??????? 尾数(23位) 分割为32位浮点数标准格式 0 011 0110 0000 0000 0000 0000 S 阶码(8位) 尾数(23位) 0 011 0110 0000 0000 0000 0000 S 阶码(8位) 尾数(23位) 符号位S=0 , 正数 指数e=阶码-12701111111(3)10 尾数1.M (包括隐藏位1) =1.011 0110 0000 0000 0000 0000 =1.011011 于是 X=+(1.011011)*23=+1011.011=(11.375)10 [练习]若二进制数X为 1001.101,求其表示成微机中的单精度浮点数(十六进制)。 ?解: 1001.101规范浮点数表达为 1.001101 × 23 符号位S=0 指数E=3+127=130B 尾数1.M (包括隐藏位1) =001 1010 0000 0000 0000 0000 32位浮点数标准格式 0 001 1010 0000 0000 0000 0000 0100 0001 0001 1010 0000 0000 0000 0000 即:411A0000 H 总结 数值编码:计算机内的数一般以补码形式进行运算 符号问题:数据可定义为无符号(unsigned)和有符号(signed)两种类型。在默认情况下一般为有符号数。 如:unsigned int a=20; ???int b=-90 总结 类型说明符 数的范围 字节数 int -32768~32767?????????? 即-215~(215-1) 2 unsigned int 0~65535????????????? 即0~(216-1) 2 short int -32768~32767?????????? 即-215~(215-1) 2 unsigned short int 0~65535????????????? 即0~(216-1) 2 long int -2147483648~2147483647即-231~(231-1) 4 unsigned long 0~4294967295???????? 即0~(232-1) 4 下表列出了Turbo C中各类整型量所分配的内存字节数及数的表示范围。 总结 定点数和浮点数:大多数处理器支持定点计算和浮点两类运算 在高级语言中,实数一般被定义为浮点型 类型说明符 比特数(字节数) 有效数字 数的范围 float 32(4) 6~7 10-37~1038 double 64(8) 15~16 10-307~10308 浮点数的精度取决于尾数部分。尾数部分的位数越多,能够表示的有效数字越多。 单精度数的尾数用23位存储,加上默认的小数点前的1位1,2^(23+1) = 因为 10^7 10^8,所以说单精度浮点数的有效位数是7位。 关于有效数字: #include stdio.h main() { ?? float a; ?? double b; ?? a=33333.33333; ?? b=33333.33333333333333; ?? printf(%f\n%f\n,a,b); ?} 从本例可以看出,由于a 是单精度浮点型,有效位数只有七位。而整数已占五位,故小数二位后之后均为无效数字。 * * * * 机器数的运算 二、反码运算 反码加、减运算规则: [S2+S1]反= [S2]反+[S1]反 [S2-S1]反= [S2]反+[-S1]反 采用反码进行加、减运算时,无论进行两数相加还是两数相减,均可通过加法实现。 机器数的运算 反码的加、减运算规则表明: 两数和的反码等于两数的反码之和,而两数差的反码也可以用加法来实现。 运算时,符号位和数值位一样参加运算,如果符号位产生进位,则需将此进位加到和数的最低位,称之为“循环进位”。运算结果的符号位为0时,说明是正数的反码,与原码相同;运算结果的符号位为1时,说明是负数的反码,应再对运算结果求反码,才得到原码。 例: 已知S1=? 0.1001

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档