单片机中怎么区分带符号的数

就是PSW中的进位位和溢出位的区别

程序状态寄存器PSW

OV: 溢出标志。数值运算时,若超过-128到+127范围,即发生了溢出,
OV位为1, 否则为0

CY:进位标志。在加减法运算时,若是高位D7向前有进位或借位时,此位置为1
否则为0。另外CY位还是位运算时的累加器
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-29
PSW中,进位位是最高位进位标志位CF,表示最高位是否向上形成进位或借位;
溢出标志位OF表示结果是否超出所表示数的范围。
第2个回答  2022-09-25

在计算机中系统,数值,一律采用补码表示和存储。

楼主一定听过这句话。

其实,这只是入门者所需要了解的。

实际上,数值,存放的格式,有许多种。如 BCD 码、余三码、... 。

那么,单片机或 80x86 CPU 在计算时,并不区分这些代码格式。

CPU 只是按照一般的二进制数,进行加减乘除与或非异或。

CPU 得出结果的同时,还要设置标志位。

标志位的设置,简单来说,是这样的:

 当八位加八位,出现的第九位(无论是 1 是 0),便送到进位位 CY。

 再把“最高位的进位、次高位的进位”,这两个进位“异或”后,送到 OV。

CY 和 OV 的意义,由编程者自己去理解,CPU 并不参与。

第3个回答  2010-05-29
就看PSW的 8位数值,进位是cy溢出是ov他们对应的位不一样
不过他们与有无符号无关,符号数十看最高位是0或1的