单片机,累加器A计算-1加1 ,计算后A里面为0吗?

来源:百度知道 编辑:UC知道 时间:2024/06/30 19:49:04

因为-1在单片机中表示是0FEH,最高位为1表示为负,剩余位取反,0FEH和1相加,肯定是0了,CY有进位

0FE对应的二进制数应该为11111110吧?所以11111110+1=11111111,即0xFE+0x01=0xFF。

无符号数255(FF)在有符号时的值就是-1,而你们说的FE对应的值是-2;所以在A中的-1应该是0xFF,加上1之后变为0(0x00),相当于255+1=256(11111111+1=100000000),A中的值变为0x00,进位标志CY=1。

2L的请在复习一下“计算机接口原理”中的知识吧,计算机中都用的是补码而不是原码。

不为0,
累加器A中:(左边高位,最高位1为负)
-1: 10000001
1 : 00000001
+
______________
A= 10000010 (可认为-2,或130)

maajt说的对,是0
音乐飘渺迷人说得不对(抱歉“音乐飘渺迷人”,但这是真的,嘿嘿),因为他(她)用的是负数的“原码”表示,可是单片机中的负数是用“补码”表示的,其实绝大部分计算机中的绝大部分负数都是补码表示的。