本文最后更新于 2024-07-17,文章内容可能已经过时。

郭天祥2023全新51单片机教程-入门+提高

二进制的运算【主要为芯片内部的电路/C语言中常用】

数字电路符号

与:实现“必须都有,否则就没有”

C语言中的运算符:&【键盘7上面,shift+7】

0&0=0;0&1=0;

1&0=0;1&1=1;

当两个字节与运算时,按位对齐,依次运算

如:c=a&b;

数字电路符号

或:实现“只要其中之一有就有”

C语言中的运算符:|【键盘\上面,shift+\】

0|0=0;0|1=1;

1|0=1;1|1=1;

当两个字节或运算时,按位对齐,依次运算

如:c=a|b;

数字电路符号

非:实现“取反”,

C语言中的运算符:~

【键盘 上面,shift+ ,在1的左边】

没有0~0=0;0~1=1; 这种写法

只有A=~B;

如:b=~a;

按位异或

数字电路符号

按位异或:实现“必须不同,否则就没有”

C语言中的运算符:^【键盘6上面,shift+6】

0^0=0;0^1=1;

1^0=1;1^1=0;

当两个字节异或运算时,按位对齐,依次运算

如:c=a^b;

同或(C语言中不存在)【了解】

数字电路符号

同或:实现“必须相同,否则就没有”

C语言中没有同或运算符

0同或0=1;0同或1=0;

1同或0=0;1同或1=1;

当两个字节同或运算时,按位对齐,依次运算

如:c=a同或b;

ps:结果等同于对异或求反