单片机求反码时符号变不变?

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:53:18
我们老师说要变,我看见书上那个没变

要看你定义的是无符号数还是有符号数了。如果定义的是无符号数,当然不会变,因为它总是正的;如果是有符号数,当然会变,因为最高位是符号位。
例:
unsigned char i=0x75;无符号数 求反码后为0x8A
char i=0x75;有符号数+147, 求反码后为-10

具体要看用途。

如果用于灯光的闪烁:
8位1,代表外部的8个灯发光;
8位0,代表外部的8个灯不发光,
如果要求一亮一灭的变化,就必须对8位数,同时取反。

没变,当然也有没变的道理。

正数不变,负数的最高位是1.