怎么将一个16进制的数,解析成有符号的整数
如何将一个16进制的数,解析成有符号的整数
比如 0xFF =-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 对于转换的过程我明白,但就是不知道用什么函数可以得到这个结果,再赋给一个变量
------解决方案--------------------
.....补码不是这样算的,有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;
------解决方案--------------------
计算机中,一般用补码表示数据。最好是按照通用标准来,不要标新立异了。