对于一个有符号的char来说,如果它超过了0x7f, 那么它所表示的值就是一个负的,那么如何简单地求的它的实值呢
如下图所示,观察0x7f右侧的那条竖着的黑色线,在这条黑色线的右侧,有上下两排数据,上面的数据与下面的数据绝对值之和是256,根据此规律,就可以通过无符号的char值来简单地计算相应的有符号的char类型的值 。
比如,下图中, 0xBF对应的 unsigned char类型的值是191 , 那么0xBF所对应的有符号的char 类型的值是多少呢?
计算方法:191 + |x| = 256 , x的绝对值就是65,所以对应的char类型的值是-65
图片来源:吕鑫老师的C语言教学视频
https://ke.qq.com/webcourse/index.html#course_id=115556&term_id=100125436&taid=426906864436068&vid=p1408ls3e9b