16sw10.c

来自「很多c语言编的单片机实用程序 很好 推荐」· C语言 代码 · 共 39 行

C
39
字号
//16进制<->10进制互换程序


unsigned char d[10];	//用于显示的10位显示缓存

//========================================================
	//16进制to10进制输出子程序:显示数据,起始位,结束位,有无小数点
//========================================================
void output(unsigned long dd,unsigned char s,unsigned char e,unsigned char dip) {
	unsigned long div;
	unsigned char tm[8],i,j;
	div=10000000;
	for (i=0;i<8;i++) {
		tm[i]=dd/div;
		dd%=div;
		div/=10;
	}
	for (i=0;i<6;i++) {
		if (tm[i]!=0) break;
		tm[i]=nul;
	}
	tm[5]|=dip;			//小数点控制,请看“串行LED数码管显示驱动程序”
	j=7;
	for (i=s;i<e;i++) {
		d[i]=tm[j];
		j--;
	}
}

//把显示位5-9位的10进制数转换成为16进制数
unsigned int input(void) {
	unsigned int dd,dat;
	dd=10000;dat=0;
	for (i=5;i<10;i++) {
		dat+=dd*temp;
		dd/=10;
	}
	return(dat);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?