首页 > 其他分享 >C语言中char字符型数据的存取形式:ASCII码之间的转换

C语言中char字符型数据的存取形式:ASCII码之间的转换

时间:2024-03-30 20:00:31浏览次数:14  
标签:字符 49 channelNum unsigned C语言 char ASCII

unsigned char channelNum=49;

则编译器会将ASCII码49存入变量channelNum,实际channelNum表示字符1,所以下次如果以%c形式打印出来,则输出1。

e.g:

查看代码
unsigned char channelNum=49;

#include"bsp_seg.h"
#include"bsp_Init.h"

//------------------------------------
//将segString的所有字符 转换为 数码管段码,存储到segBuf数组中。
void segTran(unsigned char *segString, unsigned char *segBuf)
{
	unsigned char temp=0;
	unsigned char i=0;
	unsigned char j=0;
	
	for(i=0;i<8;i++,j++)
	{
		switch(segString[j])
		{
			case '0':	temp=0x3F;break;
			case '1':	temp=0x06;break;
			case '2':	temp=0x5B;break;
			case '3':	temp=0x4F;break;
			case '4':	temp=0x66;break;
			case '5':	temp=0x6D;break;
			case '6':	temp=0x7D;break;
			case '7':	temp=0x07;break;
			case '8':	temp=0x7F;break;
			case '9':	temp=0x6F;break;
			
			case 'E':	temp=0x79;break;
			case 'C':	temp=0x39;break;
			case 'F':	temp=0x71;break;
			case 'N':	temp=0x37;break;			
			case 'U':	temp=0x3E;break;
			
			case '-':	temp=0x40;break;
			case ' ':	temp=0x00;break;
			
			default:	temp=0x00;break;
		}
					
		if(segString[j+1] == '.')
			{
				temp |= 0x80;
				j++;						//并跳过segString中的下一位
			}
			
		segBuf[i] = temp;//将转换后的段码值传递给Buf存储
	}
}

sprintf(segString, "U-%c",channelNum);//以%c输出,则系统会寻找ASCII码49对应的字符,所以输出U-1
sprintf(segString, "U-%d",(unsigned int)channelNum);//系统会将字符型数据49强制转换为整型,以%d形式输出,则为U-49

ASCII参考表:点击跳转

标签:字符,49,channelNum,unsigned,C语言,char,ASCII
From: https://www.cnblogs.com/YYZYCS/p/18105944

相关文章

  • c语言:用do-while输出前40项的斐波那契数值
    求Fibonacci数列的前40个元素。该数列的特点是第1、2两个数为1、1。从第3个数开始,每数是其前两个数之和。  分析:从题意可以用如下等式来表示斐波那契数列:     1,1,2,3,5,8,13,21…     f1=1     (n=1)     f2=1   ......
  • 深入理解C语言宏定义
    目录一、前言二、宏的相关语法2.1#define2.2#undef2.3#运算符2.4##运算符三、宏替换的规则四、宏与函数一、前言        我们都知道#define语句可以定义常量,在编译器预处理时会全部将名字替换为常量。与此同时,#define也允许把参数替换到文本中,这就是本......
  • 描述C语言中的进程和线程之间的区别
    描述C语言中的进程和线程之间的区别在C语言中,进程和线程是两个非常重要的概念,它们在操作系统中各自扮演着独特的角色。理解它们之间的区别对于编写高效、可维护的并发程序至关重要。下面将详细阐述进程和线程在C语言中的区别。首先,我们来探讨进程的概念。进程是操作系统分配......
  • 如何在vue中使用echarts,与jquery中有啥不同。
    一、vue中使用echarts的步骤在Vue中使用ECharts可以按照以下步骤进行:安装ECharts:使用npm或yarn安装ECharts:npminstallecharts在Vue组件中引入ECharts:importechartsfrom'echarts'在Vue组件的mounted钩子函数中初始化ECharts实例,并绑定到某个......
  • 8.C语言的一些练习题坑整理
    总结没有顺序之分想起一个算一个逗号表达式https://blog.csdn.net/qq_43539854/article/details/105757536(参考)设f是实型变量,下列表达式中不是逗号表达式的是_________A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)逗号表达式即执行第......
  • 文件管理(C语言)
    文章目录文件管理文件文件的打开/关闭fopenfclose文件的顺序读/写fputcfgetcfputsfgetsfwritefreadfprintffscanf文件的随机读写fseekftellrewind文件结束标志的判定feofferror总结读取文件的函数的返回值fgetcfgetsfread补充函数sprintfsscanf文件缓冲区文件......
  • C语言---自定义类型:结构体
    文章目录前言1.结构体类型的声明2.结构体变量的创建和初始化2.1.创建结构体变量2.2.结构体变量的初始化2.3.嵌套结构体变量2.4.结构体的自引用3.结构成员访问操作符3.1.结构体成员的直接访问3.2.结构体成员的间接访问4.结构体内存对齐4.1对齐规则4.2为什么存在内......
  • C语言查找-----------BF算法&&KMP算法
    1.问题引入有一个主字符串,有一个子字符串,要求我们寻找子字符串在主字符串里面开始出现的位置;2.BF算法BF算法就是暴力算法,这个做法虽然效率不高,但是按照我们传统的思路依然能够得到结果,接下来我们使用C语言实现这个查找的过程;#include<stdio.h>#include<assert.h>#includ......
  • C语言rand、srand库函数生成随机数(附时间戳)
    前言:当我们想要用C语言写程序来获取一个随机数时,该如何获取呢?这里我们上百度搜索一下这里就有提到使用rand、srand、time库函数搭配来获取随机数,也许根据其所说我们已经可以获得随机数解决问题,但想问题不能只浮于表面,下面我们来深入认识一下rand、srand、time库函数。一、ra......
  • 金工实习、C语言课设、数据结构课设-报告
    源代码丢失了只剩下报告,配图流程图齐全,可直接使用C语言课设报告:香水管理系统数据结构课设报告:西邮导航金工实习:车工学习、钳工学习、数控学习 文章头部下载三篇报告压缩包~......