逻辑运算符是数电中的基础符号之一,其中最为常用的3个符号是“与”(&)、“或”(|)和“非”(!),它们分别表示“且”的意思、表示“或”的意思以及“非”的意思。在数电中,逻辑运算常常结合逻辑门电路使用,用于实现不同的逻辑运算结果。
此外,还有异或运算符(^)和同或运算符(=),其中异或运算符表示两个值不相同,结果为1,相同的话结果为0;同或运算符则表示两个值相等,结果为1,不相等时结果为0。
在数电中,比较运算符也是常用的运算符之一。最为常用的比较运算符有“等于”(==)、“大于”(>)、“小于”(<)、“不等于”(!=)、“大于等于”(>=)和“小于等于”(<=)。它们用于比较两个值之间的大小、关系等,并最终返回一个“真”或“假”的结果。
在使用比较运算符时,需要注意的是,比较的两个值需要是相同类型的,比如只能比较数字和数字、字符串和字符串之间的大小关系。
位运算符是数电中另一种比较基础的运算符号,最常用的位运算符是"&"(按位与)、 "|"(按位或)、 "^"(按位异或)和 "~"(按位取反)。它们是在二进制位层面上操作数据的运算符,可以对每个二进制位进行操作。
其中,“&”运算符表示同一个二进制位上的两个数字都为1时结果为1,否则为0;“|”运算符则表示同一个二进制位上的两个数字只要有一个为1就为1;“^”运算符则表示同一二进制位上两个数字不同时结果为1,相同时结果为0;“~”运算符则是将二进制位上的数字取反,1变为0,0变为1。
移位运算符是对二进制数进行位移的运算符号,常用的移位运算符有左移(<<)和右移(>>)。左移动相当于将数值乘以2的n次幂,比如a << b等于a*2的b次方;右移动则相当于将数值除以2的n次幂,比如a >> b等于a/2的b次方。
在使用移位运算符时,需要注意的是,左移和右移的边界问题,左移可能导致高位的值丢失,右移可能导致低位的值丢失。此外,还需要注意负数的移位运算,对于带符号整数的移位,右移时根据符号扩展,扩展后最高bit为1就继续扩展1,为0就属于正常扩展的流程,左移时,也有拓展符号位的过程。