符号与ASCII码的转换Word文件下载.docx

上传人:b****2 文档编号:5248778 上传时间:2023-05-04 格式:DOCX 页数:13 大小:246.70KB
下载 相关 举报
符号与ASCII码的转换Word文件下载.docx_第1页
第1页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第2页
第2页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第3页
第3页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第4页
第4页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第5页
第5页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第6页
第6页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第7页
第7页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第8页
第8页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第9页
第9页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第10页
第10页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第11页
第11页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第12页
第12页 / 共13页
符号与ASCII码的转换Word文件下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

符号与ASCII码的转换Word文件下载.docx

《符号与ASCII码的转换Word文件下载.docx》由会员分享,可在线阅读,更多相关《符号与ASCII码的转换Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。

符号与ASCII码的转换Word文件下载.docx

3、输入ASCII码值(十进制、或16进制、或二进制),

打印出对应的符号。

4、创建一个文件(内容为一段英文),读入文件并将

其中的符号转换为ASCII码,写入另一个文件。

–调试并通过该程序(抓图示例,实验体会)

五、实验报告内容:

1、实验名称

2、实验目的

3、实验要求

4、实验环境

5、实验内容(算法描述、算法流程)

6、实验体会

六、实验报告正文:

1、ASCII编码的介绍

ASCII(AmericanStandardCodeforInformationInterchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。

它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC646。

由于万维网使得ASCII广为通用,直到2007年12月,逐渐被Unicode取代。

ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。

标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

其中:

0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:

LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;

通信专用字符:

SOH(文头)、EOT(文尾)、ACK(确认)等;

ASCII值为8、9、10和13分别转换为退格、制表、换行和回车字符。

它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字

65~90为26个大写英文字母,97~122号为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<

iostream.h>

fstream.h>

voidtrans();

voidtrans_dtob(inty);

voidtrans_dtoh(inty);

voidconvert();

voidconvert_btoA();

voidconvert_dtoA();

voidconvert_htoA();

voidwjwrite();

intmain()

{

intx;

while

(1)

{

cout<

<

"

请输入您想选择的功能(选择相应代码,选择4结束):

endl;

1.将符号转换成ASCII码"

2.将ASCII码转换成符号"

3.将文件转换成ASCII码存在另外一个文件中"

cin>

>

x;

switch(x)//进行功能选择的提示

{

case1:

trans();

break;

case2:

convert();

case3:

wjwrite();

case4:

return0;

}

}

}

voidwjwrite()//将文件中的字母转换成ASCII码并存在另一个文件中

ifstreamin;

ofstreamout;

out.open("

D:

\\file1.txt"

ios:

:

out);

//以写的方式打开文件file1.txt

chara[100],y;

cout<

创建文件(请输入英文字母,以0结束输入):

while

(1)//通过循环可进行多次的功能选取

y;

if(y=='

0'

break;

out<

//将字母写进file1.txt中

out.close();

in.open("

in);

//以读的方式打开文件file1.txt

\\file2.txt"

//以写的方式打开文件file2.txt

读取的英文字符转换成十进制的ASCII码为:

while(!

in.eof())

in.getline(a,sizeof(a));

for(inti=0;

a[i];

i++)

x=(int)a[i];

//将读取的字母转换成ASCII码的十进制

cout<

x<

"

;

out<

//将转换得到的ASCII码存入file2.txt中

in.close();

voidtrans()//将符号转换成相应的ASCII码

charx;

inty;

请输入需要转换的符号:

cin>

y=(int)x;

转换成十进制为:

y<

转换为二进制:

trans_dtob(y);

cout<

转换为十六进制:

trans_dtoh(y);

voidtrans_dtob(inty)//将十进制转换成二进制

if(y<

2)

if(y>

=2)

trans_dtob(y/2);

//利用递归的方式

y%2;

voidtrans_dtoh(inty)//将十进制转换成十六进制

10)

=10)

trans_dtoh(y/16);

//利用递归的方式

x=y%16;

if(x<

10)//对余数小于10的值进行直接输出

else

switch(x)//对余数大于10的值输出值所对应的字母

case10:

A"

case11:

B"

case12:

C"

case13:

D"

case14:

E"

case15:

F"

voidconvert()//将ASCII码转换成符号

请选择您将输入的进制类型:

1.二进制:

2.十进制:

3.十六进制:

switch(x)//进行进制选择,确定对应的进制子函数

case1:

convert_btoA();

case2:

convert_dtoA();

case3:

convert_htoA();

voidconvert_btoA()//将二进制的ASCII码转换成符号

chara[10],y;

请输入ASCII码:

a;

//将二进制数当做字符串进行输入

inti,t;

longsum=0;

for(i=0;

i++)//计算出二进制数的每一位上的数的值

t=a[i]-'

//与字符'

进行作减,得到每位上的二进制数值

sum=sum*2+t;

//将二进制转换成十进制

y=(char)sum;

//将ASCII码十进制强制转换成符号

voidconvert_dtoA()//将十进制的ASCII码转换成符号

chary;

y=(char)x;

voidconvert_htoA()//将十六进制的ASCII码转换成符号

//将十六进制数当做字符串进行输入

i++)//计算出十六进制数的每一位上的数的值

if(a[i]<

='

9'

)//对小于'

的字符,与'

进行作减,求出该位置上数值的大小

t=a[i]-'

A'

+10;

//对大于'

进行比较,并求出该位置上数值的大小

sum=sum*16+t;

//转换成十进制

4、实验体会

这次的实验丰富了我对ASCII码的理解,但着实的知道了自己的编程能力实在是太差了。

ASCII码在编码、计算机世界中真的很方便,也知道了十进制是转换的中介,ASCII码转换成为其他进制时,要先转换为十进制再转换为其他进制。

人在键盘上敲入的字符(数字、字母、特殊符号等)转换成机器能够识别的二进制数,并且每个字符唯一确定一个ASCII码,形象地说,它就是人跟计算机交流时使用的键盘语言通过“翻译”转换成的计算机能够识别的语言。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2