c语言字符与ASCII码的转换
我输入一个字符赋值到一个数组的一个元素,然后再把数组中的那个元素的字符进行ASCII码加减运算,再把运算后的ASCII码转换为对应的字符赋值给另一个数组的元素中,请问我该...
我输入一个字符赋值到一个数组的一个元素,然后再把数组中的那个元素的字符进行ASCII码加减运算,再把运算后的ASCII码转换为对应的字符赋值给另一个数组的元素中,请问我该怎么做
能够提供源代码更好,要C语言哦 展开
能够提供源代码更好,要C语言哦 展开
4个回答
展开全部
#include<stdio.h>
voidmain()
{
unsignedchara;
printf("enterchar:");
scanf("%C",&a);
printf("ascii=%d",a);//强制转化为ascii码
}
扩展资料
C语言ASCII编码的来源
ASCII码
一个二进制位(Bit)有0、1两种状态,一个字节(Byte)有8个二进制位,有256种状态,每种状态对应一个符号,就是256个符号,从00000000到11111111。美国制定了一套英文字符与二进制位的对应关系,称为ASCII码,沿用至今。
ASCII码规定了128个英文字符与二进制的对应关系,占用一个字节(实际上只占用了一个字节的后面7位,最前面1位统一规定为0)。例如,字母a的的ASCII码为01100001,那么你暂时可以理解为字母a存储到内存之前会被转换为01100001,读取时遇到01100001也会转换为a。
TableDI
2024-07-18 广告
2024-07-18 广告
在Excel中,字符串匹配函数主要用于查找和定位特定字符串在文本中的位置或进行替换操作。常用的字符串匹配函数包括FIND、SEARCH、SUBSTITUTE和REPLACE等。FIND和SEARCH函数用于查找字符串的位置,而SUBSTIT...
点击进入详情页
本回答由TableDI提供
展开全部
ASCII字符值范围是0x00到0x7f。因为有不可见和键盘不好拍的字符。所以你可用整型数输入。
unsigned char a[100],b[100];
unsigned char x,y,z;
scanf("%d",&a[i]);
if (a[i] > 0x7f || a[i] < 0) 重输;
加减运算 就用算数表达式。例如
y = a[1]+a[2];
b[2] = a[1] + a[2] - a[3];
unsigned char 就是8bit无符号整数。
加减运算后很可能超界,即大于0x7f或小于0。
加减运算后的字符很可能是不可打印字符,或“看不见”的字符。
所以你的题目有问题。
unsigned char a[100],b[100];
unsigned char x,y,z;
scanf("%d",&a[i]);
if (a[i] > 0x7f || a[i] < 0) 重输;
加减运算 就用算数表达式。例如
y = a[1]+a[2];
b[2] = a[1] + a[2] - a[3];
unsigned char 就是8bit无符号整数。
加减运算后很可能超界,即大于0x7f或小于0。
加减运算后的字符很可能是不可打印字符,或“看不见”的字符。
所以你的题目有问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//函
数
名:CharToHex()
//功能描述:把ASCII字符转换为16进制
//函数说明:
//调用函数:
//全局变量:
//输
入:ASCII字符
//返
回:16进制
/////////////////////////////////////////////////////////////////////
unsigned
char
CharToHex(unsigned
char
bHex){
if((bHex>=0)&&(bHex<=9))
bHex
+=
0x30;
else
if((bHex>=10)&&(bHex<=15))//大写字母
bHex
+=
0x37;
else
bHex
=
0xff;
return
bHex;
}
/////////////////////////////////////////////////////////////////////
//函
数
名:HexToChar()
//功能描述:把16进制转换为ASCII字符
//函数说明:
//调用函数:
//全局变量:
//输
入:16进制
//返
回:ASCII字符
/////////////////////////////////////////////////////////////////////
unsigned
char
HexToChar(unsigned
char
bChar){
if((bChar>=0x30)&&(bChar<=0x39))
bChar
-=
0x30;
else
if((bChar>=0x41)&&(bChar<=0x46))//大写字母
bChar
-=
0x37;
else
if((bChar>=0x61)&&(bChar<=0x66))//小写字母
bChar
-=
0x57;
else
bChar
=
0xff;
return
bChar;
数
名:CharToHex()
//功能描述:把ASCII字符转换为16进制
//函数说明:
//调用函数:
//全局变量:
//输
入:ASCII字符
//返
回:16进制
/////////////////////////////////////////////////////////////////////
unsigned
char
CharToHex(unsigned
char
bHex){
if((bHex>=0)&&(bHex<=9))
bHex
+=
0x30;
else
if((bHex>=10)&&(bHex<=15))//大写字母
bHex
+=
0x37;
else
bHex
=
0xff;
return
bHex;
}
/////////////////////////////////////////////////////////////////////
//函
数
名:HexToChar()
//功能描述:把16进制转换为ASCII字符
//函数说明:
//调用函数:
//全局变量:
//输
入:16进制
//返
回:ASCII字符
/////////////////////////////////////////////////////////////////////
unsigned
char
HexToChar(unsigned
char
bChar){
if((bChar>=0x30)&&(bChar<=0x39))
bChar
-=
0x30;
else
if((bChar>=0x41)&&(bChar<=0x46))//大写字母
bChar
-=
0x37;
else
if((bChar>=0x61)&&(bChar<=0x66))//小写字母
bChar
-=
0x57;
else
bChar
=
0xff;
return
bChar;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你问得太模糊了,你是让我口头告诉你怎么做,还是用C语言编一个程序给你呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询