符号与ASCII码的转换Word文档格式.docx
- 文档编号:3284289
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:14
- 大小:247.40KB
符号与ASCII码的转换Word文档格式.docx
《符号与ASCII码的转换Word文档格式.docx》由会员分享,可在线阅读,更多相关《符号与ASCII码的转换Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
–调试并通过该程序(抓图示例,实验体会)
五、实验报告内容:
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〉
#include〈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码"
endl;
”2。
将ASCII码转换成符号”〈<
endl;
”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)//通过循环可进行多次的功能选取
cin>
>
y;
if(y==’0’)
break;
out<
〈y;
//将字母写进file1。
txt中
out.close();
in.open(”D:
\\file1.txt"
,ios:
in);
//以读的方式打开文件file1.txt
out。
open(”D:
\\file2。
txt"
ios:
:
out);
//以写的方式打开文件file2.txt
cout<
读取的英文字符转换成十进制的ASCII码为:
〈〈endl;
while(!
in。
eof())
in。
getline(a,sizeof(a));
for(inti=0;
a[i];
i++)
x=(int)a[i];
//将读取的字母转换成ASCII码的十进制
cout〈<
x<
〈”"
;
out<
x〈<
”"
//将转换得到的ASCII码存入file2.txt中
in.close();
close();
voidtrans()//将符号转换成相应的ASCII码
charx;
inty;
”请输入需要转换的符号:
〈endl;
cin>
x;
y=(int)x;
〈”转换成十进制为:
”<
y<
转换为二进制:
;
trans_dtob(y);
cout<
”转换为十六进制:
trans_dtoh(y);
voidtrans_dtob(inty)//将十进制转换成二进制
if(y<
2)
y;
if(y〉=2)
trans_dtob(y/2);
//利用递归的方式
y%2;
}
}
voidtrans_dtoh(inty)//将十进制转换成十六进制
if(y〈10)
cout〈<
if(y〉=10)
trans_dtoh(y/16);
//利用递归的方式
x=y%16;
if(x<
10)//对余数小于10的值进行直接输出
cout〈〈x;
else
switch(x)//对余数大于10的值输出值所对应的字母
{
case10:
cout〈<
”A"
case11:
〈”B"
break;
case12:
C”;
case13:
D"
case14:
E”;
case15:
”F"
}
voidconvert()//将ASCII码转换成符号
〈”请选择您将输入的进制类型:
〈”1.二进制:
〈”2。
十进制:
〈endl;
〈”3.十六进制:
switch(x)//进行进制选择,确定对应的进制子函数
case1:
convert_btoA();
case2:
convert_dtoA();
case3:
convert_htoA();
voidconvert_btoA()//将二进制的ASCII码转换成符号
chara[10],y;
请输入ASCII码:
”〈〈endl;
cin〉>
a;
//将二进制数当做字符串进行输入
inti,t;
longsum=0;
for(i=0;
i++)//计算出二进制数的每一位上的数的值
{
t=a[i]—'
0'
//与字符'
进行作减,得到每位上的二进制数值
sum=sum*2+t;
//将二进制转换成十进制
y=(char)sum;
//将ASCII码十进制强制转换成符号
voidconvert_dtoA()//将十进制的ASCII码转换成符号
chary;
〈"
〉x;
y=(char)x;
〈y〈〈endl;
voidconvert_htoA()//将十六进制的ASCII码转换成符号
chara[10],y;
〈”请输入ASCII码:
”〈〈endl;
cin〉〉a;
//将十六进制数当做字符串进行输入
longsum=0;
a[i];
i++)//计算出十六进制数的每一位上的数的值
if(a[i]〈='
9’)//对小于'
9'
的字符,与'
进行作减,求出该位置上数值的大小
t=a[i]-'
t=a[i]—’A’+10;
//对大于’9’的字符,与’A'
进行比较,并求出该位置上数值的大小
sum=sum*16+t;
//转换成十进制
y=(char)sum;
〈y<
4、实验体会
这次的实验丰富了我对ASCII码的理解,但着实的知道了自己的编程能力实在是太差了。
ASCII码在编码、计算机世界中真的很方便,也知道了十进制是转换的中介,ASCII码转换成为其他进制时,要先转换为十进制再转换为其他进制。
人在键盘上敲入的字符(数字、字母、特殊符号等)转换成机器能够识别的二进制数,并且每个字符唯一确定一个ASCII码,形象地说,它就是人跟计算机交流时使用的键盘语言通过“翻译”转换成的计算机能够识别的语言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 符号 ASCII 转换