­

c++ 字符转十进制 | N进制转十进制

十六进制字符转十进制整数 思想

思想通过判断字符是数字还是,字母, 然后减去0 ,‘a’ ‘A’ 字符结果就是十六进制, 如果是字母要加10;

代码如下

int ChtoHex(char ch)  {    if ((ch >= '0') && (ch <= '9'))      return ch - 48;    else if ((ch >= 'a') && (ch <= 'f'))      return ch - 87;    else if ((ch >= 'A') && (ch <= 'F'))      return ch - 55;    else      return -1;  }

N进制字符串转十进制整数

这个没有什么思想,粗暴简单,函数直接调. 笔者是在linux上使用的,windows 不知道有没有.

#include <stdint.h>    	char d[] = " ffee ";  	long a=strtol(d,NULL,16);	//字符串转16进制带符号长整数  	uint16_t a = strtoul(d, NULL, 16);	//字符串转16进制无法好长整数

strtol() ,strtoul(),参数一填写 要转换的字符串,参数二填NULL,参数三天字符串是几进制字符串, 分别是带符号长整数,和无符号整数.

是不是很简单