单片机中逻辑运算符&&,||与位运算符&,|的区别 单片机中的逻辑运算怎么算的?

\u5355\u7247\u673a\u4e2d\u903b\u8f91\u8fd0\u7b97\u7b26\u7684\u95ee\u9898 |= &=\u90fd\u662f\u4ec0\u4e48\u610f\u601d\u3002\u3002\u3002\u8fd8\u6709\u6ca1\u6709\u50cf\u8fd9\u7c7b\u522b\u7684\u7b26\u53f7

|=
&=\u7684\u610f\u601d\u5982\u4e0b\uff1a

a
|=
b;

\u8fd9\u53e5\u8bdd\u76f8\u5f53\u4e8e
a
=
a
|
b;

\u4e5f\u5c31\u662f\u8ba1\u7b97a\u6216b,\u7136\u540e\u628a\u7ed3\u679c\u4fdd\u5b58\u5728a\u91cc\u3002

a
&=
b;

\u8fd9\u53e5\u8bdd\u76f8\u5f53\u4e8e
a
=
a &
b;

\u4e5f\u5c31\u662f\u8ba1\u7b97a\u4e0eb,\u7136\u540e\u628a\u7ed3\u679c\u4fdd\u5b58\u5728a\u91cc\u3002

\u4f60\u5728C\u8bed\u8a00\u4e2d\u53ef\u4ee5\u53d1\u73b0\u5f88\u591a\u8fd0\u7b97\u7b26\u90fd\u6709\u8fd9\u6837\u7684\u7528\u6cd5\uff0c\u4e0d\u53ea\u662f\u903b\u8f91\u8fd0\u7b97\u7b26\u3002

\u6bd4\u5982a
+=
b
\u5c31\u76f8\u5f53\u4e8e
a
=
a
+
b;

\u5355\u7247\u673a\u4e2d\u7684\u903b\u8f91\u8fd0\u7b97\u67094\u79cd\uff1a
1\u3001\u201c\u4e0e\u201d\u8fd0\u7b97
\u201c\u4e0e\u201d\u8fd0\u7b97\u662f\u5b9e\u73b0\u201c\u5fc5\u987b\u90fd\u6709,\u3000\u5426\u5219\u5c31\u6ca1\u6709\u201d\u8fd9\u79cd\u903b\u8f91\u5173\u7cfb\u7684\u4e00\u79cd\u8fd0\u7b97\u3002\u8fd0\u7b97\u7b26\u4e3a\u201c\u00b7 \u201d, \u5176\u8fd0\u7b97\u89c4\u5219\u5982\u4e0b:
0\u00b70=0\uff0c0\u00b71=0\uff0c1\u00b70=0\uff0c 1\u00b71=1\uff1b
2\u3001\u201c\u6216\u201d\u8fd0\u7b97
\u201c\u6216\u201d\u8fd0\u7b97\u662f\u5b9e\u73b0\u201c\u53ea\u8981\u5176\u4e2d\u4e4b\u4e00\u6709,\u3000\u5c31\u6709\u201d\u8fd9\u79cd\u903b\u8f91\u5173\u7cfb\u7684\u4e00\u79cd\u8fd0\u7b97, \u5176\u8fd0\u7b97\u7b26\u4e3a\u201c+\u201d\u3002 \u201c\u6216\u201d\u8fd0\u7b97\u89c4\u5219\u5982\u4e0b:
0+0=0\uff0c0+1=1\uff0c1+0=1\uff0c1+1=1\uff1b
3\u3001\u201c\u975e\u201d\u8fd0\u7b97
\u201c\u975e\u201d\u8fd0\u7b97\u662f\u5b9e\u73b0\u201c\u6c42\u53cd\u201d\u8fd9\u79cd\u903b\u8f91\u7684\u4e00\u79cd\u8fd0\u7b97\uff0c\u5982\u53d8\u91cfA\u7684\u201c\u975e\u201d\u8fd0\u7b97\u8bb0\u4f5c ¬ \u3002 \u5176\u8fd0\u7b97\u89c4\u5219\u5982\u4e0b:

4\u3001\u201c\u5f02\u6216\u201d\u8fd0\u7b97
\u201c\u5f02\u6216\u201d\u8fd0\u7b97\u662f\u5b9e\u73b0\u201c\u5fc5\u987b\u4e0d\u540c, \u5426\u5219\u5c31\u6ca1\u6709\u201d\u8fd9\u79cd\u903b\u8f91\u7684\u4e00\u79cd\u8fd0\u7b97, \u8fd0\u7b97\u7b26\u4e3a\u201c\u2295\u201d\u3002\u5176\u8fd0\u7b97\u89c4\u5219\u662f:

\u6269\u5c55\u8d44\u6599
\u903b\u8f91\u8fd0\u7b97\u53c8\u79f0\u5e03\u5c14\u8fd0\u7b97\u3002\u5e03\u5c14\u7528\u6570\u5b66\u65b9\u6cd5\u7814\u7a76\u903b\u8f91\u95ee\u9898\uff0c\u6210\u529f\u5730\u5efa\u7acb\u4e86\u903b\u8f91\u6f14\u7b97\u3002\u4ed6\u7528\u7b49\u5f0f\u8868\u793a\u5224\u65ad\uff0c\u628a\u63a8\u7406\u770b\u4f5c\u7b49\u5f0f\u7684\u53d8\u6362\u3002\u8fd9\u79cd\u53d8\u6362\u7684\u6709\u6548\u6027\u4e0d\u4f9d\u8d56\u4eba\u4eec\u5bf9\u7b26\u53f7\u7684\u89e3\u91ca\uff0c\u53ea\u4f9d\u8d56\u4e8e\u7b26\u53f7\u7684\u7ec4\u5408\u89c4\u5f8b \u3002\u8fd9\u4e00\u903b\u8f91\u7406\u8bba\u4eba\u4eec\u5e38\u79f0\u5b83\u4e3a\u5e03\u5c14\u4ee3\u6570\u3002
20\u4e16\u7eaa30\u5e74\u4ee3\uff0c\u903b\u8f91\u4ee3\u6570\u5728\u7535\u8def\u7cfb\u7edf\u4e0a\u83b7\u5f97\u5e94\u7528\uff0c\u968f\u540e\uff0c\u7531\u4e8e\u7535\u5b50\u6280\u672f\u4e0e\u8ba1\u7b97\u673a\u7684\u53d1\u5c55\uff0c\u51fa\u73b0\u5404\u79cd\u590d\u6742\u7684\u5927\u7cfb\u7edf\uff0c\u5b83\u4eec\u7684\u53d8\u6362\u89c4\u5f8b\u4e5f\u9075\u5b88\u5e03\u5c14\u6240\u63ed\u793a\u7684\u89c4\u5f8b\u3002\u903b\u8f91\u8fd0\u7b97 (logical operators) \u901a\u5e38\u7528\u6765\u6d4b\u8bd5\u771f\u5047\u503c\u3002\u6700\u5e38\u89c1\u5230\u7684\u903b\u8f91\u8fd0\u7b97\u5c31\u662f\u5faa\u73af\u7684\u5904\u7406\uff0c\u7528\u6765\u5224\u65ad\u662f\u5426\u8be5\u79bb\u5f00\u5faa\u73af\u6216\u7ee7\u7eed\u6267\u884c\u5faa\u73af\u5185\u7684\u6307\u4ee4\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u903b\u8f91\u8fd0\u7b97

&& 和 || 计算的结果是一个bit 的值1或0 即逻辑真或逻辑假
& 和 | 计算的结果很可能不是bit,结果位数等同于 参与计算的各数中位数最长的,
做个试验就可以看出区别了

前者的结果是逻辑真或者假(1或0)后者结果为为两个操作数按二进制位相与(&) 相或(|)后得到的结果

  • 鍗曠墖鏈洪昏緫杩愮畻鏈夊摢浜?
    绛旓細鍗曠墖鏈轰腑鐨勯昏緫杩愮畻鏈4绉嶏細1銆佲滀笌鈥濊繍绠 鈥滀笌鈥濊繍绠楁槸瀹炵幇鈥滃繀椤婚兘鏈,銆鍚﹀垯灏辨病鏈夆濊繖绉嶉昏緫鍏崇郴鐨勪竴绉嶈繍绠椼杩愮畻绗涓衡溌 鈥, 鍏惰繍绠楄鍒欏涓:0路0=0锛0路1=0锛1路0=0锛 1路1=1锛2銆佲滄垨鈥濊繍绠 鈥滄垨鈥濊繍绠楁槸瀹炵幇鈥滃彧瑕佸叾涓箣涓鏈,銆灏辨湁鈥濊繖绉嶉昏緫鍏崇郴鐨勪竴绉嶈繍绠, 鍏惰繍绠楃涓衡+...
  • 鍗曠墖鏈轰腑鐨勪笌涓轰粈涔堣〃绀虹殑鏄笖鐨勫惈涔
    绛旓細鍥犱负鍗曠墖鏈烘墽琛岀殑鏄昏緫涓庤繍绠椼鍗曠墖鏈轰腑鐨勨滀笌鈥濇搷浣滅閫氬父琚敤鏉ヨ〃绀洪昏緫鈥滀笖鈥濈殑鍚箟锛岃繖鏄洜涓哄畠鎵ц鐨勬槸閫昏緫涓庤繍绠椼1銆佸湪璁$畻鏈轰腑锛閫昏緫杩愮畻绗鏈変笁绉嶏細涓庛佹垨鍜岄潪銆傚叾涓滀笌鈥濊繍绠楃琛ㄧず鍙湁鎵鏈夎緭鍏ユ潯浠堕兘涓虹湡鏃讹紝杈撳嚭鎵嶄负鐪熴傝屸滄垨鈥濊繍绠楃琛ㄧず鍙浠讳綍涓涓緭鍏ユ潯浠朵负鐪燂紝杈撳嚭灏变负鐪熴傛渶鍚庯紝...
  • 51鍗曠墖鏈瀹炵幇涓庢垨杩愮畻
    绛旓細1. 璇锋敞鎰忥紝鍦ㄨ繘琛51鍗曠墖鏈虹殑浣嶉昏緫鎿嶄綔鏃讹紝搴旀纭娇鐢閫昏緫鎿嶄綔绗銆備緥濡傦紝浣嶉昏緫涓庢搷浣滃簲浣跨敤绗﹀彿鈥&鈥濓紝鑰屼笉鏄疌璇█涓鐨勯昏緫涓庢搷浣滅鈥&&鈥濄2. 51鍗曠墖鏈虹殑浣嶉昏緫杩愮畻鍖呮嫭閫昏緫涓庯紙&锛夈侀昏緫鎴栵紙|锛夈侀昏緫闈烇紙~锛夈侀昏緫寮傛垨锛坁锛夌瓑锛屾瘡绉嶈繍绠楅兘鏈夊叾鐗瑰畾鐨勫姛鑳藉拰搴旂敤鍦烘櫙銆3. 鍦ㄨ繘琛屼綅閫昏緫杩愮畻鏃...
  • 鍗曠墖鏈洪昏緫鎴栨寚浠ゅ湪鐜板疄涓殑鐢ㄦ硶?
    绛旓細鍥炵瓟锛鍗曠墖鏈轰腑鐨勯昏緫杩愮畻鏈4绉: 1銆佲滀笌鈥濊繍绠 鈥滀笌鈥濊繍绠楁槸瀹炵幇鈥滃繀椤婚兘鏈, 鍚﹀垯灏辨病鏈夆濊繖绉嶉昏緫鍏崇郴鐨勪竴绉嶈繍绠椼杩愮畻绗涓衡溌 鈥, 鍏惰繍绠楄鍒欏涓:鈥滄垨鈥濊繍绠 鈥滄垨鈥濊繍绠楁槸瀹炵幇鈥滃彧瑕佸叾涓箣涓鏈, 灏辨湁鈥濊繖绉嶉昏緫鍏崇郴鐨勪竴绉嶈繍绠, 鍏惰繍绠楃涓衡+鈥濄 鈥滄垨鈥濊繍绠楄鍒欏涓:鈥滈潪鈥濊繍绠 鈥滈潪鈥...
  • 閫昏緫涓杩愮畻绗鏄(),鎸変綅涓庤繍绠楃鏄(),閫昏緫鎴栬繍绠楃鏄(),鎸変綅鎴栬繍绠楃鏄...
    绛旓細濡傛灉鏄鍗曠墖鏈鐨勮瘽锛岄偅涔堢瓟妗堟槸锛閫昏緫涓杩愮畻绗鏄紙&&锛夛紝鎸変綅涓庤繍绠楃鏄紙&锛夛紝閫昏緫鎴栬繍绠楃鏄紙||锛夛紝鎸変綅鎴栬繍绠楃鏄紙|锛夛紝閫昏緫闈炶繍绠楃鏄紙锛侊級
  • ...缂栫▼璇█浣跨敤c璇█,璇峰垪涓閫昏緫杩愮畻绗?涓嶅皯浜5绉?
    绛旓細閫昏緫杩愮畻绗灏3绉
  • 鍗曠墖鏈轰腑==鏄粈涔堟剰鎬
    绛旓細鍦ㄥ崟鐗囨満缂栫▼涓紝浣跨敤==绗﹀彿鏄敤鏉ヨ繘琛岀浉绛夊垽鏂殑銆傚叾鍘熺悊鏄瘮杈杩愮畻绗宸﹁竟鍜屽彸杈圭殑鍊兼槸鍚︾浉绛夛紝濡傛灉鐩哥瓑鍒欒繑鍥炵湡锛1锛夛紝鍚﹀垯杩斿洖鍋囷紙0锛夈傚洜姝わ紝浣跨敤==绗﹀彿鍙互甯姪绋嬪簭鍛樺垽鏂袱涓彉閲忔垨鑰呭父閲忔槸鍚︾浉绛夛紝浠庤岀‘淇濈▼搴忕殑姝g‘鎬у拰绋冲畾鎬с傚湪鍗曠墖鏈轰腑锛==绗﹀彿鍖哄埆浜庡崟绮惧害姣旇緝绗﹀彿==锛屽悗鑰呯敤鏉ユ瘮杈冧袱涓诞鐐...
  • 鍗曠墖鏈轰腑閫昏緫杩愮畻绗&&,||涓庝綅杩愮畻绗&,|鐨勫尯鍒
    绛旓細&& 鍜 || 璁$畻鐨缁撴灉鏄竴涓猙it 鐨勫1鎴0 鍗閫昏緫鐪熸垨閫昏緫鍋 & 鍜 | 璁$畻鐨勭粨鏋滃緢鍙兘涓嶆槸bit锛岀粨鏋滀綅鏁扮瓑鍚屼簬 鍙備笌璁$畻鐨勫悇鏁颁腑浣嶆暟鏈闀跨殑,鍋氫釜璇曢獙灏卞彲浠ョ湅鍑哄尯鍒簡
  • 鍗曠墖鏈轰腑SETB鏄粈涔堟剰鎬
    绛旓細鍗曠墖鏈轰腑銆怱ETB銆戞槸姹囩紪鎸囦护锛屾剰鎬濇槸鎶婂叾鍚庨潰鐨勫瘎瀛樺櫒鐨勪綅缃1銆1銆佷娇鐢⊿ETB鎸囦护灏嗕綅鍊煎垎閰嶇粰SETB绗﹀彿銆傚彲浠ョ洿鎺ュ皢浣嶅0鎴1鍒嗛厤缁橲ETB绗﹀彿锛屽苟灏嗗叾鐢ㄤ綔寮鍏炽2銆佸鏋滃湪鎿嶄綔鏁板瓧娈典腑鎸囧畾閫昏緫锛堝竷灏旓級琛ㄨ揪寮忥紝姹囩紪绋嬪簭灏嗚绠楁琛ㄨ揪寮忎互纭畾瀹冩槸true杩樻槸false锛岀劧鍚庡皢鍊1鎴0璧嬬粰SETB绗﹀彿銆
  • 鍗曠墖鏈c璇█涓璓3=P3|0x3c鏄粈涔堟剰鎬?鍏蜂綋鐐,灏ゅ叾鏄渱鈥濊繖涓鍙穇鐧惧害...
    绛旓細鈥渱鈥濇槸涓涓寜浣嶆垨閫昏緫杩愮畻绗銆侾3=P3|0x3c 灏辨槸灏哖3鍙f寜浣嶅拰0x3c閫昏緫鎴栦竴閬,鐒跺悗灏嗗緱鍒鐨鍊艰祴缁橮3銆備緥锛//鍋囪 P3 = 0XC3锛//锛11000011锛//鎵ц P3=P3|0x3c锛//锛11000011 鎴 00111100锛//鎵浠 P3 = 0XFF锛涳紙11111111锛//P3鍙e叏閮ㄨ緭鍑洪珮鐢靛钩 ...
  • 扩展阅读:电子元器件符号大全 ... 逻辑运算符有哪三种 ... 电子元件识别大全图 ... 100种电子元器件符号 ... 与 或 非 三种逻辑符号 ... plc指令符号大全 ... 数学所有符号大全 ... 编程符号一览表 ... c++运算符大全 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网