符号与ASCII码的转换.doc_第1页
符号与ASCII码的转换.doc_第2页
符号与ASCII码的转换.doc_第3页
符号与ASCII码的转换.doc_第4页
符号与ASCII码的转换.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 符号与ASCII码的转换一、实验目的:1、熟悉英文字母和常用符号的基本编码理论。2、了解数字符号和数字ASCII码值的区别。3、使用高级语言实现符号与ASCII码的转换。二、实验要求:1、界面友好、简洁2、变量和函数要有注释3、实验报告中要有程序流程图三、实验环境:1、硬件环境:主流配置计算机2、操作系统:Windows xp(替换成实际应用系统)3、编译平台:Visual C+ 6.0(替换成实际应用平台)(可选语言包括C、C+、Java等等)四、实验内容:1、介绍一下ASCII编码(查找整理资料)编写ASCII码转换程序(用流程图表示)2、输入符号,打印出对应的ASCII码表(十进制、16进制、二进制)3、输入ASCII码值(十进制、或16进制、或二进制),打印出对应的符号。4、创建一个文件(内容为一段英文),读入文件并将其中的符号转换为ASCII码,写入另一个文件。调试并通过该程序(抓图示例,实验体会)五、实验报告内容:1、实验名称2、实验目的3、实验要求4、实验环境5、实验内容(算法描述、算法流程)6、实验体会6、 实验报告正文:1、 ASCII编码的介绍ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。由于万维网使得ASCII广为通用,直到2007年12月,逐渐被Unicode取代。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中:031及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。32126(共95个)是字符(32是空格),其中4857为0到9十个阿拉伯数字6590为26个大写英文字母,97122号为26个小写英文字母,其余为一些标点符号、运算符号等。同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。后128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。2、 编写ASCII码转换程序(用流程图表示)(1) 、功能选择的提示(2) 、将符号转换成ASCII码例如:“*”会显示十进制、十六进制、二进制的ASCII码。ASCII码与进制之间的转换都是通过十进制的,再由十进制转换为二进制、十六进制。(3) 、将符号转换成ASCII码会跳出功能选择:十进制、十六进制、二进制来转换例如:“56”二进制的ASCII码例如:“10”十进制的ASCII码例如:“77”十六进制的ASCII码(4) 、创建一个文件(内容为一段英文),读入文件并将其中的符号转换为ASCII码,写入另一个文件。“summer”写入,先转换为十进制的ASCII码。3、 源代码(借鉴)#include#includevoid trans();void trans_dtob(int y);void trans_dtoh(int y);void convert();void convert_btoA();void convert_dtoA();void convert_htoA();void wjwrite();int main()int x;while(1)cout请输入您想选择的功能(选择相应代码,选择4结束):endl;cout1.将符号转换成ASCII码endl;cout2.将ASCII码转换成符号endl;cout3.将文件转换成ASCII码存在另外一个文件中x;switch(x)/进行功能选择的提示case 1:trans();break;case 2:convert();break;case 3:wjwrite();break;case 4:return 0;void wjwrite() /将文件中的字母转换成ASCII码并存在另一个文件中ifstream in;ofstream out;out.open(D:file1.txt,ios:out);/以写的方式打开文件file1.txtchar a100,y;int x;cout创建文件(请输入英文字母,以0结束输入):y;if(y=0)break;outy;/将字母写进file1.txt中out.close();in.open(D:file1.txt,ios:in); /以读的方式打开文件file1.txtout.open(D:file2.txt,ios:out); /以写的方式打开文件file2.txtcout读取的英文字符转换成十进制的ASCII码为:endl;while(!in.eof()in.getline(a,sizeof(a);for(int i=0;ai;i+)x=(int)ai;/将读取的字母转换成ASCII码的十进制coutx ;outx ;/将转换得到的ASCII码存入file2.txt中in.close();out.close();coutendl;void trans()/将符号转换成相应的ASCII码char x;int y;cout请输入需要转换的符号:x;y=(int)x;cout转换成十进制为:yendl;cout转换为二进制:;trans_dtob(y);coutendl;cout转换为十六进制:;trans_dtoh(y);coutendl;void trans_dtob(int y)/将十进制转换成二进制if(y2)cout=2)trans_dtob(y/2);/利用递归的方式couty%2;void trans_dtoh(int y)/将十进制转换成十六进制int x;if(y10)cout=10)trans_dtoh(y/16); /利用递归的方式x=y%16;if(x10)/对余数小于10的值进行直接输出coutx;elseswitch(x)/对余数大于10的值输出值所对应的字母case 10:coutA;break;case 11:coutB;break;case 12:coutC;break;case 13:coutD;break;case 14:coutE;break;case 15:coutF;break;void convert()/将ASCII码转换成符号int x;cout请选择您将输入的进制类型:endl; cout1.二进制:endl;cout2.十进制:endl;cout3.十六进制:x;switch(x)/进行进制选择,确定对应的进制子函数case 1:convert_btoA();break;case 2:convert_dtoA();break;case 3:convert_htoA();break;void convert_btoA()/将二进制的ASCII码转换成符号char a10,y;cout请输入ASCII码:a;/将二进制数当做字符串进行输入inti,t;long sum=0;for(i=0;ai;i+)/计算出二进制数的每一位上的数的值t=ai-0;/与字符0进行作减,得到每位上的二进制数值sum=sum*2+t; /将二进制转换成十进制y=(char)sum;/将ASCII码十进制强制转换成符号coutyendl;void convert_dtoA()/将十进制的ASCII码转换成符号int x;char y;cout请输入ASCII码:x;y=(char)x;coutyendl;void convert_htoA()/将十六进制的ASCII码转换成符号char a10,y;cout请输入ASCII码:a;/将十六进制数当做字符串进行输入inti,t;long sum=0;for(i=0;ai;i+)/计算出十六进制数的每一位上的数的值if(ai=9)/对小于9的字符,与0进行作减,求出该位置上数值的大小t=ai-0;elset=ai-A+10;/对大于9的字符,与A进行比较,并求出该位置上数值的大小sum=sum*16+t;/转换成十进制y=(char)sum;coutyendl;4、 实验体会这次的实验丰富了我对A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论