怎么将一个16进制的数,解析成有符号的整数

如何将一个16进制的数,解析成有符号的整数
比如 0xFF =-127       对于转换的过程我明白,但就是不知道用什么函数可以得到这个结果,再赋给一个变量

------解决方案--------------------
引用:
0xFF 的二进制是 11111111,转化成有符号的整数 ,由于最高位是1 ,所以是个负数 ,剩下7位的值是127

.....补码不是这样算的,有2种方法算:
1、0xFF=-1*2^8+(2^7+2^6+……+2^0)=-128+127=-1
2、负数时,最高位取符号-1,然后剩下7位取反就是000 0000 加1(正数不加1),所以还是-1
------解决方案--------------------
强制转换即可,0xff是-1才对:
unsigned char a = 0xff;
char b = (char)a;

引用:
比如 0xFF =-127       对于转换的过程我明白,但就是不知道用什么函数可以得到这个结果,再赋给一个变量

------解决方案--------------------
引用:
0xFF 的二进制是 11111111,转化成有符号的整数 ,由于最高位是1 ,所以是个负数 ,剩下7位的值是127

计算机中,一般用补码表示数据。最好是按照通用标准来,不要标新立异了。