淘豆网
下载此文档放大查看缩小查看   1/21
0/100
您的浏览器不支持进度条
更多>>该用户其他文档
下载所得到的文件列表
典型例题.pptx
文档介绍:
2019年4月4日星期四11、数据输入输出及转换理解数据的形式输入/输出的数据:字符串(‘0’~‘9’的ASCII码)存储的数据:十六进制数据例题例1:输入多位十进制数据(无符号数)例2:显示十进制数据(无符号数)例3:显示十六进制数据(无符号数)例4:输入两个十进制数据,并显示其和与差2019年4月4日星期四2例1 从键盘输入一个无符号的十进制数(0~65535),将其值存入变量BUF中。输入数据为字符串,要转换成数值例如,输入‘1234’,得到31H、32H、33H、34H字符串;转换为数值为01、02、03、04四个字节的数据;实际的数值为01*1000+02*100+03*10+04;计算出十进制数值,为BUF赋值即可;程序的主要任务将字节数据计算出数值;数值=[(01*10+02)*10+03]*10+04循环结构程序实现——a1*10+a2;2019年4月4日星期四3十进制数串转化为数值的方法初始化数据指针SI、累加和AX、基数BX(10)、循环次数CX累加和为小于16位的数据;循环次数与数串位数相同;循环体累加和乘以10,再加数串的一位;从高位开始处理数串;修改:数据指针循环控制:计数控制结束处理:保存结果值2019年4月4日星期四4例1流程图注意事项寄存器的使用;数串位使用时应将字符转换为数值;数串处理从最高位开始;开始输入十进制字符串循环初始化N数串为空?Y累加和乘以基数获取数串的一位,并累加Y循环结束?N修改保存结果结束2019年4月4日星期四5例2 将字变量BUF的值当作无符号数,以十进制形式输出。BUF中的数据为十六进制,程序的主要任务为数制转换;除基取余法:不断地除以基数10,余数倒序排列即可;循环结构程序初始化:基数CX、数据指针、被除数(DX:AX)数据指针指向保存余数的单元,从尾单元到首单元逐次减量;循环体:采用除法指令,不断地除以10;注意避免除法溢出;修改:数据指针循环控制:条件控制——商为0;结束处理:显示各位余数;注意转换为字符;2019年4月4日星期四6例2流程图除法采用32位被除数,16位除数(10);商在AX中,可作为下次除法的被除数;无符号数扩展,采用0扩展;显示结果时,注意串要以“$”结束;可直接定义,也可程序中写入;开始初始化10CX,BUFAX,EA(string+4)SI被除数扩展AXDX:AX执行一次除法,余数转换为字符保存于SI指定单元减量修改SI指针Y商为0?N从最后的保存位置显示各余数结束2019年4月4日星期四7例3 将BX的值以十六进制形式显示。循环结构程序循环体内做一位十六进制数据的显示;数值转换为字符:0000B~1001B+30H,1010B~1111B+37H;循环次数为4;以BX的4位做一次循环;每次取BX不同的4位,使用移位和逻辑操作得到;注意:若使用16位系统指令,与课本代码有所区别;MOVCL,4ROLBX,CLMOVDL,BLANDDL,0FH2019年4月4日星期四8例4 从键盘读入两个两位的十进制数,显示其和与差。开始输入两个十进制数串,并转换为数值求两个数值的和与差以十进制数据的形式显示和与差结束算法同5-6算法同5-7可使用过程调用的方式实现!输入数据范围为0~65535若要以带符号数形式显示,应如何处理?2019年4月4日星期四92、字符串处理例5输入小写字母,显示其前导和后继;例6输入字符串,显示最后4个字符;例7输入字符串,并逆序显示;例8输入字符串str1和str2,若str2是str1的子串,则输出Y,否则输出N;例9删除串首尾空格,压缩串内空格;2019年4月4日星期四10例5 从键盘输入一个小写字母,显示该字母的前导与后继。开始输入一个字符Y是小写字母?N字符减1,求前导Y前导是小写字母?N保存前导字符加1,求后继Y后继是小写字母?N保存后继显示前导和后继结束是否小写字母的判断,可使用过程调用的方式实现! 内容来自淘豆网www.taodocs.com转载请标明出处.