ASCII码是如何比较大小的
ASCII比较大小的时候,是比较两个数中的第一个字符
1、常用字符有128个,编码从0到127。
2、控制字符:0~31、127,共33个,不可显示。
3、普通字符:95个,包括10个阿拉伯数字、52个英文大小写字母、33个运算符。
4、每个字符占一个字节,7位,最高位为0。
ASCII码的大小规则,0-9<A-Z<a-z:
1、数字比字母要小。如 “7”<“F”
2、数字0比数字9要小,并按0到9顺序递增。如 “3”<“8”
3、字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z”
4、同个字母的大写字母比小写字母要小32。如“A”<“a”
记住几个常见字母的ASCII码大小:
“A”为65;“a”为97;“0”为48;
扩展资料:
ASCII码的一些应用
1、对于一串字符串大写改小写,小写改大写
#include <stdio.h>
#include<string.h>
int main(int argc, char **argv)
{
char a[20]="a2b4cd58eF9G";
int i;
for(i=0;i<strlen(a);i++)
{
if(a[i]>=97&&a[i]<=122)
{
a[i]=a[i]-32;
continue;
}
if(a[i]>=65&&a[i]<=90)
{
a[i]=a[i]+32;
continue;
}
}
printf("%s",a);
return 0;
}
2、将数字型字符串改成int类型
#include <stdio.h>
#include<string.h>
int main(int argc, char **argv)
{
char a[20]="12345";
int i;
int c=0,d=0;
for(i=0;i<strlen(a);i++)
{
c=a[i]-48;
d=d*10+c;
}
printf("%d\n",d);
c=0,d=0;
for(i=strlen(a)-1;i>=0;i--)
{
c=a[i]-48;
d=d*10+c;
}
printf("%d\n",d);
return 0;
}
汉字的ASCII:
1、英文标准的ASCII码中只有128个符号,只需要7位,但是计算机分配存储的最基本单位是字节,至少是8位,因此最高位为0;
2、因此常见的西文符号的ASCII都是在0-127之间,无论是有符号还是无符号去观察它们,都是正的。
3、中文的符号远超过256个,因此用一个字节不能存储汉字,早期的GB2312采用了两个字节。
4、但是很麻烦的问题是一个汉字用两个字节存储在计算机中后,和两个西文字母的ASCII混淆,为了避免这个混淆,汉字两个字节的最高位都是1。
5、如果用有符号的数去读取一个汉字的内容,最高位的1正好和负号位置相同,因此此时就会发现汉字的内吗是负的。
参考资料来源:ASCII-百度百科
2024-09-19 广告
1)常用字符有128个,编码从0到127。
2)控制字符:0~31、127,共33个,不可显示;
3)普通字符:95个,包括10个阿拉伯数字、52个英文大小写字母、33个运算符。
4)每个字符占一个字节,7位,最高位为0。
常见ASCII码的大小规则,0-9<A-Z<a-z:
1)数字比字母要小。如 “7”<“F”
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8”
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z”
4)同个字母的大写字母比小写字母要小32。如“A”<“a”
记住几个常见字母的ASCII码大小:
“A”为65;“a”为97;“0”为48;