- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 c程序设计基础 1.1 计算机内的数据表示 1.2算法及其表示 1.3程序设计语言 1.4 结构化程序设计 1.1 计算机内的数据表示 数制及其转换 常用计数方法 十进制计数法 进制计数法是“逢十进一”的 例如:(1234.56)10=1×103+2×102+3×101+4×100+5×10-1+6×10-2 各位的权值分别为:103、102、101、100、10-1、10-2。 二进制计数法 二进制计数法是“逢二进一”的。 例如:(1001101.11)2=1×26+0×25+0×24+1×23+1×22+0×21+1×20+1×2-1+1×2-2 各位的权值分别为: 26、25、24、23、22、21、20、2-1、2-2、2-3。 1.1 计算机内的数据表示 八进制数与十六进制数 八进制计数法是“逢八进一”的,数码为: 0、1、2、3、4、5、6、7。 例如:(621)8=6×82+2×81+6×80 各位的权值分别为:82、81、80。 十六进制计数法是“逢十六进一”的,数码为 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。 例如:(8A1F)16=8×163+10×162+1×161+15×160 各位的权值分别为:163、162、161、160。 1.1 计算机内的数据表示 数制转换 任意进制转换为十进制由r制数转换为十进制数可按照如下公式进行多项式展开求和即可:KnKn-1…K1K0 . K-1K-2…K-m=Kn×rn+Kn-1×rn-1+…K1×r1+K0 ×r0+K-1×r-1+K-2×r-2+…K-m×r-m 十进制转换为任意进制 可以采用除基取余法将十进制整数转换为r进制整数:将十进制整数除以r,得到商和余数,余数对应为r进制数低位的值;继续让商再除以r,得到商和余数,……重复此操作,直至商为0,如此得到的一系列的余数就是相应r进制数的各位数字,先得到的是低位,后得到的是高位。 1.1 计算机内的数据表示 例如,将(29)10转换为二进制整数: 因此,(29)10=(11101)2 1.1 计算机内的数据表示 可采用乘基取整法将十进制小数转换为r进制小数:将十进制小数乘以r,去掉乘积的整数部分,再将余下的纯小数乘以r,……重复此操作,直至乘积等于0或达到所需的精度为止,如此得到的一系列整数就是r进制小数的各位数字,先得到的是高位,后得到的是低位。 例如,将(0.625)10转换为二进制小数: 0.625×2=1.25 1 高位 0.25×2=0.5 0 0.5×2=1 1 低位 因此,(0.625)10=(0.101)2 由于整数和小数的转换方法截然不同,将十进制数转换为r进制数时,整数部分和小数部分要分开来进行转换。r进制小数能精确的转换为十进制小数,但十进制小数通常不能精确的转换为r进制小数。 1.1 计算机内的数据表示 二进制与八进制、十六进制之间的转换 对于一个二进制数,只要依次(整数部分由低位到高位,小数部分由高位到低位)将其每3位或4位分成一组,就可以直接转换为八进制数或十六进制数。 例如, (1 000 101 111 010 011.011 01)2=(105423.53)8 (1000 1011 1101 0011.01101)2=(8B13.B8)16 将八进制数中的每一位用3位二进制数表示,将十六进制数中的每一位用4位二进制数表示,就能转换为对应的二进制数。 1.1 计算机内的数据表示 原码,反码及补码 在计算机中,“位” 是数据的最小单位。计算机中的存储量是以字节来计算的,一个字节是8位二进制位。在计算机内,一般规定:用0表示正号“+”,用1表示负号“-”;符号位放在数值位之前。一个数连同其符号在机器中的二进制表示形式称为机器数,它所代表的数值称为机器数的真值。 机器数的一般格式为:? ? 符号位 数值位 1.1 计算机内的数据表示 原码 原码表示法是符号位用0表示正数,用1表示负数,数值位表示数值本身。 例如:[+27]原= 0 0 0 1 1 0 1 1 [-27]原= 1 0 0 1 1 0 1 1 在原码表示法中,0的表示方法不唯一:[+0]原= 0 0 0 0 0 0 0 0 [-0]原= 1 0 0 0 0 0 0 0
文档评论(0)