⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16进制10进制.c

📁 C语言源码
💻 C
字号:
自己写一个转换函数不就行了?

//返回16进制字符串s对应的整数值,遇到任何一个非法字符都返回-1。
int HexToDec(char *s)
{
	char *p = s;

	//空串返回0。
	if(*p == '\0')
		return 0;
	
	//忽略开头的'0'字符
	while(*p == '0')
		p++;

	int dec = 0;
	char c;

	//循环直到字符串结束。
	while(c = *p++)
	{
		//dec乘16
		dec <<= 4;
		
		//数字字符。
		if(c >= '0' && c <= '9')
		{
			dec += c - '0';
			continue;
		}

		//小写abcdef。
		if(c >= 'a' && c <= 'f')
		{
			dec += c - 'a' + 10;
			continue;
		}

		//大写ABCDEF。
		if(c >= 'A' && c <= 'F')
		{
			dec += c - 'A' + 10;
			continue;
		}

		//没有从任何一个if语句中结束,说明遇到了非法字符。
		return -1;
	}

	//正常结束循环,返回10进制整数值。
	return dec;
}

⌨️ 快捷键说明

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