移位运算符的运算规则 左移运算符的意义规则

C\u8bed\u8a00\u4e2d\u79fb\u4f4d\u8fd0\u7b97\u7684\u8be6\u7ec6\u89e3\u91ca\u3002

1\u3001\u201c\u6309\u4f4d\u4e0e\u201d\u8fd0\u7b97\u7b26\uff08&\uff09
\u6309\u4f4d\u4e0e\u662f\u6307\uff1a\u53c2\u52a0\u8fd0\u7b97\u7684\u4e24\u4e2a\u6570\u636e\uff0c\u6309\u4e8c\u8fdb\u5236\u4f4d\u8fdb\u884c\u201c\u4e0e\u201d\u8fd0\u7b97\u3002\u5982\u679c\u4e24\u4e2a\u76f8\u5e94\u7684\u4e8c\u8fdb\u5236\u4f4d\u90fd\u4e3a1\uff0c\u5219\u8be5\u4f4d\u7684\u7ed3\u679c\u503c\u4e3a1\uff1b\u5426\u5219\u4e3a0\u3002\u8fd9\u91cc\u76841\u53ef\u4ee5\u7406\u89e3\u4e3a\u903b\u8f91\u4e2d\u7684true,0\u53ef\u4ee5\u7406\u89e3\u4e3a\u903b\u8f91\u4e2d\u7684false\u3002\u6309\u4f4d\u4e0e\u5176\u5b9e\u4e0e\u903b\u8f91\u4e0a\u201c\u4e0e\u201d\u7684\u8fd0\u7b97\u89c4\u5219\u4e00\u81f4\u3002\u903b\u8f91\u4e0a\u7684\u201c\u4e0e\u201d\uff0c\u8981\u6c42\u8fd0\u7b97\u6570\u5168\u771f\uff0c\u7ed3\u679c\u624d\u4e3a\u771f\u3002\u82e5\uff0cA=true,B=true,\u5219A\u2229B=true \u4f8b\u5982\uff1a3&5 3\u7684\u4e8c\u8fdb\u5236\u7f16\u7801\u662f11(2)\u3002\uff08\u4e3a\u4e86\u533a\u5206\u5341\u8fdb\u5236\u548c\u5176\u4ed6\u8fdb\u5236\uff0c\u672c\u6587\u89c4\u5b9a\uff0c\u51e1\u662f\u975e\u5341\u8fdb\u5236\u7684\u6570\u636e\u5747\u5728\u6570\u636e\u540e\u9762\u52a0\u4e0a\u62ec\u53f7\uff0c\u62ec\u53f7\u4e2d\u6ce8\u660e\u5176\u8fdb\u5236\uff0c\u4e8c\u8fdb\u5236\u5219\u6807\u8bb0\u4e3a2\uff09\u5185\u5b58\u50a8\u5b58\u6570\u636e\u7684\u57fa\u672c\u5355\u4f4d\u662f\u5b57\u8282\uff08Byte\uff09\uff0c\u4e00\u4e2a\u5b57\u8282\u75318\u4e2a\u4f4d\uff08bit)\u6240\u7ec4\u6210\u3002\u4f4d\u662f\u7528\u4ee5\u63cf\u8ff0\u7535\u8111\u6570\u636e\u91cf\u7684\u6700\u5c0f\u5355\u4f4d\u3002\u4e8c\u8fdb\u5236\u7cfb\u7edf\u4e2d\uff0c\u6bcf\u4e2a0\u62161\u5c31\u662f\u4e00\u4e2a\u4f4d\u3002\u5c0611\uff082\uff09\u8865\u8db3\u6210\u4e00\u4e2a\u5b57\u8282\uff0c\u5219\u662f00000011\uff082\uff09\u30025\u7684\u4e8c\u8fdb\u5236\u7f16\u7801\u662f101\uff082\uff09\uff0c\u5c06\u5176\u8865\u8db3\u6210\u4e00\u4e2a\u5b57\u8282\uff0c\u5219\u662f00000101\uff082\uff09
\u6309\u4f4d\u4e0e\u8fd0\u7b97\uff1a00000011(2)
&00000101(2)
00000001(2)
\u7531\u6b64\u53ef\u77e53&5=1
c\u8bed\u8a00\u4ee3\u7801\uff1a
#include
main(){int a=3;int b = 5;printf("%d",a&b);}
\u6309\u4f4d\u4e0e\u7684\u7528\u9014\uff1a
\uff081\uff09\u6e05\u96f6
\u82e5\u60f3\u5bf9\u4e00\u4e2a\u5b58\u50a8\u5355\u5143\u6e05\u96f6\uff0c\u5373\u4f7f\u5176\u5168\u90e8\u4e8c\u8fdb\u5236\u4f4d\u4e3a0\uff0c\u53ea\u8981\u627e\u4e00\u4e2a\u4e8c\u8fdb\u5236\u6570\uff0c\u5176\u4e2d\u5404\u4e2a\u4f4d\u7b26\u5408\u4e00\u4e0b\u6761\u4ef6\uff1a\u539f\u6765\u7684\u6570\u4e2d\u4e3a1\u7684\u4f4d\uff0c\u65b0\u6570\u4e2d\u76f8\u5e94\u4f4d\u4e3a0\u3002\u7136\u540e\u4f7f\u4e8c\u8005\u8fdb\u884c&\u8fd0\u7b97\uff0c\u5373\u53ef\u8fbe\u5230\u6e05\u96f6\u76ee\u7684\u3002\u4f8b\uff1a\u539f\u6570\u4e3a43\uff0c\u537300101011\uff082\uff09\uff0c\u53e6\u627e\u4e00\u4e2a\u6570\uff0c\u8bbe\u5b83\u4e3a148\uff0c\u537310010100\uff082\uff09\uff0c\u5c06\u4e24\u8005\u6309\u4f4d\u4e0e\u8fd0\u7b97\uff1a
00101011\uff082\uff09
&10010100\uff082\uff09
00000000\uff082\uff09
c\u8bed\u8a00\u6e90\u4ee3\u7801\uff1a
#include main(){int a=43;int b = 148;printf("%d",a&b);}
\uff082\uff09\u53d6\u4e00\u4e2a\u6570\u4e2d\u67d0\u4e9b\u6307\u5b9a\u4f4d\uff1a\u82e5\u6709\u4e00\u4e2a\u6574\u6570a(2byte),\u60f3\u8981\u53d6\u5176\u4e2d\u7684\u4f4e\u5b57\u8282\uff0c\u53ea\u9700\u8981\u5c06a\u4e0e8\u4e2a1\u6309\u4f4d\u4e0e\u5373\u53ef\u3002
a 00101100 10101100
b 00000000 11111111
c 00000000 10101100
\uff083\uff09\u4fdd\u7559\u6307\u5b9a\u4f4d\uff1a\u4e0e\u4e00\u4e2a\u6570\u8fdb\u884c\u201c\u6309\u4f4d\u4e0e\u201d\u8fd0\u7b97\uff0c\u6b64\u6570\u5728\u8be5\u4f4d\u53d61\u3002
\u4f8b\u5982\uff1a\u6709\u4e00\u657084\uff0c\u537301010100\uff082\uff09\uff0c\u60f3\u628a\u5176\u4e2d\u4ece\u5de6\u8fb9\u7b97\u8d77\u7684\u7b2c3\uff0c4\uff0c5\uff0c7\uff0c8\u4f4d\u4fdd\u7559\u4e0b\u6765\uff0c\u8fd0\u7b97\u5982\u4e0b\uff1a
01010100(2)&00111011(2)00010000(2)\u5373\uff1aa=84,b=59c=a&b=16c\u8bed\u8a00\u6e90\u4ee3\u7801\uff1a#include main(){int a=84;int b = 59;printf("%d",a&b);}
2\u3001\u201c\u6309\u4f4d\u6216\u201d\u8fd0\u7b97\u7b26\uff08|\uff09
\u4e24\u4e2a\u76f8\u5e94\u7684\u4e8c\u8fdb\u5236\u4f4d\u4e2d\u53ea\u8981\u6709\u4e00\u4e2a\u4e3a1\uff0c\u8be5\u4f4d\u7684\u7ed3\u679c\u503c\u4e3a1\u3002\u501f\u7528\u903b\u8f91\u5b66\u4e2d\u6216\u8fd0\u7b97\u7684\u8bdd\u6765\u8bf4\u5c31\u662f\uff0c\u4e00\u771f\u4e3a\u771f\u3002\u4f8b\u5982\uff1a60\uff088\uff09|17\uff088\uff09,\u5c06\u516b\u8fdb\u523660\u4e0e\u516b\u8fdb\u523617\u8fdb\u884c\u6309\u4f4d\u6216\u8fd0\u7b97\u3002
00110000|0000111100111111c\u8bed\u8a00\u6e90\u4ee3\u7801\uff1a#include main(){int a=060;int b = 017;printf("%d",a|b);}
\u5e94\u7528\uff1a\u6309\u4f4d\u6216\u8fd0\u7b97\u5e38\u7528\u6765\u5bf9\u4e00\u4e2a\u6570\u636e\u7684\u67d0\u4e9b\u4f4d\u5b9a\u503c\u4e3a1\u3002\u4f8b\u5982\uff1a\u5982\u679c\u60f3\u4f7f\u4e00\u4e2a\u6570a\u7684\u4f4e4\u4f4d\u6539\u4e3a1\uff0c\u5219\u53ea\u9700\u8981\u5c06a\u4e0e17\uff088\uff09\u8fdb\u884c\u6309\u4f4d\u6216\u8fd0\u7b97\u5373\u53ef\u3002
3\u3001\u201c\u5f02\u6216\u201d\u8fd0\u7b97\u7b26\uff08^\uff09
\u4ed6\u7684\u89c4\u5219\u662f\uff1a\u82e5\u53c2\u52a0\u8fd0\u7b97\u7684\u4e24\u4e2a\u4e8c\u8fdb\u5236\u4f4d\u503c\u76f8\u540c\u5219\u4e3a0\uff0c\u5426\u5219\u4e3a1
\u53730\u22270=0\uff0c0\u22271=1\uff0c1\u22270=1\uff0c 1\u22271=0
\u4f8b\uff1a 00111001\u2227 0010101000010011c\u8bed\u8a00\u6e90\u4ee3\u7801\uff1a#include main(){int a=071;int b = 052;printf("%d",a^b);}
\u5e94\u7528\uff1a
\uff081\uff09\u4f7f\u7279\u5b9a\u4f4d\u7ffb\u8f6c\u8bbe\u6709\u657001111010\uff082\uff09\uff0c\u60f3\u4f7f\u5176\u4f4e4\u4f4d\u7ffb\u8f6c\uff0c\u53731\u53d80\uff0c0\u53d81.\u53ef\u4ee5\u5c06\u5176\u4e0e00001111\uff082\uff09\u8fdb\u884c\u201c\u5f02\u6216\u201d\u8fd0\u7b97\u3002
\u5373\uff1a01111010^0000111101110101
\u8fd0\u7b97\u7ed3\u679c\u7684\u4f4e4\u4f4d\u6b63\u597d\u662f\u539f\u6570\u4f4e4\u4f4d\u7684\u7ffb\u8f6c\u3002\u53ef\u89c1\uff0c\u8981\u4f7f\u54ea\u51e0\u4f4d\u7ffb\u8f6c\u5c31\u5c06\u4e0e\u5176\u8fdb\u884c\u2227\u8fd0\u7b97\u7684\u8be5\u51e0\u4f4d\u7f6e\u4e3a1\u5373\u53ef\u3002
(2)\u4e0e0\u76f8\u201c\u5f02\u6216\u201d\uff0c\u4fdd\u7559\u539f\u503c
\u4f8b\u5982\uff1a012^00=01200001010^0000000000001010
\u56e0\u4e3a\u539f\u6570\u4e2d\u76841\u4e0e0\u8fdb\u884c\u5f02\u6216\u8fd0\u7b97\u5f971\uff0c0^0\u5f970\uff0c\u6545\u4fdd\u7559\u539f\u6570\u3002
(3) \u4ea4\u6362\u4e24\u4e2a\u503c\uff0c\u4e0d\u7528\u4e34\u65f6\u53d8\u91cf
\u4f8b\u5982\uff1aa\uff1d3\uff0c\u537311\uff082\uff09\uff1bb\uff1d4\uff0c\u5373100\uff082\uff09\u3002
\u60f3\u5c06a\u548cb\u7684\u503c\u4e92\u6362\uff0c\u53ef\u4ee5\u7528\u4ee5\u4e0b\u8d4b\u503c\u8bed\u53e5\u5b9e\u73b0\uff1a
a\uff1da\u2227b;b\uff1db\u2227a;a\uff1da\u2227b;a\uff1d011(2)\uff08\u2227\uff09b\uff1d100(2)a\uff1d111(2)\uff08a\u2227b\u7684\u7ed3\u679c\uff0ca\u5df2\u53d8\u62107\uff09\uff08\u2227\uff09b\uff1d100(2)b\uff1d011(2)\uff08b\u2227a\u7684\u7ed3\u679c\uff0cb\u5df2\u53d8\u62103\uff09\uff08\u2227\uff09a\uff1d111(2)
a\uff1d100\uff082\uff09\uff08a\u2227b\u7684\u7ed3\u679c\uff0ca\u5df2\u53d8\u62104\uff09
\u7b49\u6548\u4e8e\u4ee5\u4e0b\u4e24\u6b65\uff1a
\u2460 \u6267\u884c\u524d\u4e24\u4e2a\u8d4b\u503c\u8bed\u53e5\uff1a\u201ca\uff1da\u2227b\uff1b\u201d\u548c\u201cb\uff1db\u2227a\uff1b\u201d\u76f8\u5f53\u4e8eb=b\u2227(a\u2227b)\u3002
\u2461 \u518d\u6267\u884c\u7b2c\u4e09\u4e2a\u8d4b\u503c\u8bed\u53e5\uff1a a\uff1da\u2227b\u3002\u7531\u4e8ea\u7684\u503c\u7b49\u4e8e\uff08a\u2227b\uff09\uff0cb\u7684\u503c\u7b49\u4e8e\uff08b\u2227a\u2227b\uff09\uff0c\u56e0\u6b64\uff0c\u76f8\u5f53\u4e8ea=a\u2227b\u2227b\u2227a\u2227b\uff0c\u5373a\u7684\u503c\u7b49\u4e8ea\u2227a\u2227b\u2227b\u2227b\u3002
c\u8bed\u8a00\u6e90\u4ee3\u7801\uff1a#include main(){int a=3;int b = 4;a=a^b;b=b^a;a=a^b;printf("a=%d b=%d",a,b);}
4\u3001\u201c\u53d6\u53cd\u201d\u8fd0\u7b97\u7b26\uff08~\uff09
\u4ed6\u662f\u4e00\u5143\u8fd0\u7b97\u7b26\uff0c\u7528\u4e8e\u6c42\u6574\u6570\u7684\u4e8c\u8fdb\u5236\u53cd\u7801\uff0c\u5373\u5206\u522b\u5c06\u64cd\u4f5c\u6570\u5404\u4e8c\u8fdb\u5236\u4f4d\u4e0a\u76841\u53d8\u4e3a0\uff0c0\u53d8\u4e3a1\u3002
\u4f8b\u5982\uff1a~77(8)
\u6e90\u4ee3\u7801\uff1a
#include main(){int a=077;printf("%d",~a);}
5\u3001\u5de6\u79fb\u8fd0\u7b97\u7b26\uff08<<\uff09
\u5de6\u79fb\u8fd0\u7b97\u7b26\u662f\u7528\u6765\u5c06\u4e00\u4e2a\u6570\u7684\u5404\u4e8c\u8fdb\u5236\u4f4d\u5de6\u79fb\u82e5\u5e72\u4f4d\uff0c\u79fb\u52a8\u7684\u4f4d\u6570\u7531\u53f3\u64cd\u4f5c\u6570\u6307\u5b9a\uff08\u53f3\u64cd\u4f5c\u6570\u5fc5\u987b\u662f\u975e\u8d1f\u503c\uff09\uff0c\u5176\u53f3\u8fb9\u7a7a\u51fa\u7684\u4f4d\u75280\u586b\u8865\uff0c\u9ad8\u4f4d\u5de6\u79fb\u6ea2\u51fa\u5219\u820d\u5f03\u8be5\u9ad8\u4f4d\u3002
\u4f8b\u5982\uff1a\u5c06a\u7684\u4e8c\u8fdb\u5236\u6570\u5de6\u79fb2\u4f4d\uff0c\u53f3\u8fb9\u7a7a\u51fa\u7684\u4f4d\u88650\uff0c\u5de6\u8fb9\u6ea2\u51fa\u7684\u4f4d\u820d\u5f03\u3002\u82e5a=15,\u537300001111\uff082\uff09\uff0c\u5de6\u79fb2\u4f4d\u5f9700111100\uff082\uff09\u3002
\u6e90\u4ee3\u7801\uff1a#include main(){int a=15;printf("%d",a<<2);}
\u5de6\u79fb1\u4f4d\u76f8\u5f53\u4e8e\u8be5\u6570\u4e58\u4ee52\uff0c\u5de6\u79fb2\u4f4d\u76f8\u5f53\u4e8e\u8be5\u6570\u4e58\u4ee52*2\uff1d4,15\uff1c\uff1c2=60\uff0c\u5373\u4e58\u4e864\u3002\u4f46\u6b64\u7ed3\u8bba\u53ea\u9002\u7528\u4e8e\u8be5\u6570\u5de6\u79fb\u65f6\u88ab\u6ea2\u51fa\u820d\u5f03\u7684\u9ad8\u4f4d\u4e2d\u4e0d\u5305\u542b1\u7684\u60c5\u51b5\u3002\u5047\u8bbe\u4ee5\u4e00\u4e2a\u5b57\u8282\uff088\u4f4d\uff09\u5b58\u4e00\u4e2a\u6574\u6570\uff0c\u82e5a\u4e3a\u65e0\u7b26\u53f7\u6574\u578b\u53d8\u91cf\uff0c\u5219a\uff1d64\u65f6\uff0c\u5de6\u79fb\u4e00\u4f4d\u65f6\u6ea2\u51fa\u7684\u662f0\uff0c\u800c\u5de6\u79fb2\u4f4d\u65f6\uff0c\u6ea2\u51fa\u7684\u9ad8\u4f4d\u4e2d\u5305\u542b1\u3002
6\u3001\u53f3\u79fb\u8fd0\u7b97\u7b26\uff08>>\uff09
\u53f3\u79fb\u8fd0\u7b97\u7b26\u662f\u7528\u6765\u5c06\u4e00\u4e2a\u6570\u7684\u5404\u4e8c\u8fdb\u5236\u4f4d\u53f3\u79fb\u82e5\u5e72\u4f4d\uff0c\u79fb\u52a8\u7684\u4f4d\u6570\u7531\u53f3\u64cd\u4f5c\u6570\u6307\u5b9a\uff08\u53f3\u64cd\u4f5c\u6570\u5fc5\u987b\u662f\u975e\u8d1f\u503c\uff09\uff0c\u79fb\u5230\u53f3\u7aef\u7684\u4f4e\u4f4d\u88ab\u820d\u5f03\uff0c\u5bf9\u4e8e\u65e0\u7b26\u53f7\u6570\uff0c\u9ad8\u4f4d\u88650\u3002\u5bf9\u4e8e\u6709\u7b26\u53f7\u6570\uff0c\u5c06\u5bf9\u5de6\u8fb9\u7a7a\u51fa\u7684\u90e8\u5206\u7528\u7b26\u53f7\u4f4d\u586b\u8865\uff08\u5373\u201c\u7b97\u672f\u79fb\u4f4d\u201d\uff09\uff0c\u800c\u53e6\u4e00\u4e9b\u673a\u5668\u5219\u5bf9\u5de6\u8fb9\u7a7a\u51fa\u7684\u90e8\u5206\u75280\u586b\u8865\uff08\u5373\u201c\u903b\u8f91\u79fb\u4f4d\u201d\uff09\u3002\u6ce8\u610f\uff1a\u5bf9\u65e0\u7b26\u53f7\u6570,\u53f3\u79fb\u65f6\u5de6\u8fb9\u9ad8\u4f4d\u79fb\u51650\uff1b\u5bf9\u4e8e\u6709\u7b26\u53f7\u7684\u503c,\u5982\u679c\u539f\u6765\u7b26\u53f7\u4f4d\u4e3a0(\u8be5\u6570\u4e3a\u6b63),\u5219\u5de6\u8fb9\u4e5f\u662f\u79fb\u51650\u3002\u5982\u679c\u7b26\u53f7\u4f4d\u539f\u6765\u4e3a1(\u5373\u8d1f\u6570),\u5219\u5de6\u8fb9\u79fb\u51650\u8fd8\u662f1,\u8981\u53d6\u51b3\u4e8e\u6240\u7528\u7684\u8ba1\u7b97\u673a\u7cfb\u7edf\u3002\u6709\u7684\u7cfb\u7edf\u79fb\u51650,\u6709\u7684\u7cfb\u7edf\u79fb\u51651\u3002\u79fb\u51650\u7684\u79f0\u4e3a\u201c\u903b\u8f91\u79fb\u4f4d\u201d,\u5373\u7b80\u5355\u79fb\u4f4d\uff1b\u79fb\u51651\u7684\u79f0\u4e3a\u201c\u7b97\u672f\u79fb\u4f4d\u201d\u3002
\u4f8b\uff1a a\u7684\u503c\u662f\u516b\u8fdb\u5236\u6570113755\uff1a
a:1001011111101101 \uff08\u7528\u4e8c\u8fdb\u5236\u5f62\u5f0f\u8868\u793a\uff09
a>>1: 0100101111110110 (\u903b\u8f91\u53f3\u79fb\u65f6)
a>>1: 1100101111110110 (\u7b97\u672f\u53f3\u79fb\u65f6)
\u5728\u6709\u4e9b\u7cfb\u7edf\u4e2d,a>>1\u5f97\u516b\u8fdb\u5236\u6570045766,\u800c\u5728\u53e6\u4e00\u4e9b\u7cfb\u7edf\u4e0a\u53ef\u80fd\u5f97\u5230\u7684\u662f145766\u3002Turbo C\u548c\u5176\u4ed6\u4e00\u4e9bC\u7f16\u8bd1\u91c7\u7528\u7684\u662f\u7b97\u672f\u53f3\u79fb,\u5373\u5bf9\u6709\u7b26\u53f7\u6570\u53f3\u79fb\u65f6,\u5982\u679c\u7b26\u53f7\u4f4d\u539f\u6765\u4e3a1\uff0c\u5de6\u9762\u79fb\u5165\u9ad8\u4f4d\u7684\u662f1\u3002
\u6e90\u4ee3\u7801\uff1a#include main(){int a=0113755;printf("%d",a>>1);}
7\u3001\u4f4d\u8fd0\u7b97\u8d4b\u503c\u8fd0\u7b97\u7b26
\u4f4d\u8fd0\u7b97\u7b26\u4e0e\u8d4b\u503c\u8fd0\u7b97\u7b26\u53ef\u4ee5\u7ec4\u6210\u590d\u5408\u8d4b\u503c\u8fd0\u7b97\u7b26\u3002
\u4f8b\u5982: &=, |=, >>=, <<=, \u2227=
\u4f8b\uff1a a & = b\u76f8\u5f53\u4e8e a = a & b
a << =2\u76f8\u5f53\u4e8ea = a << 2

\u5de6\u79fb\u8fd0\u7b97\u7b26\u5c31\u662f\u5728\u4e8c\u8fdb\u5236\u7684\u57fa\u7840\u4e0a\u5bf9\u6570\u5b57\u8fdb\u884c\u5e73\u79fb\u3002\u6309\u7167\u5e73\u79fb\u7684\u65b9\u5411\u548c\u586b\u5145\u6570\u5b57\u7684\u89c4\u5219\u5206\u4e3a\u4e09\u79cd\uff1a>(\u5e26\u7b26\u53f7\u53f3\u79fb)\u548c>>>(\u65e0\u7b26\u53f7\u53f3\u79fb)\u3002 \u5728\u79fb\u4f4d\u8fd0\u7b97\u65f6\uff0cbyte\u3001short\u548cchar\u7c7b\u578b\u79fb\u4f4d\u540e\u7684\u7ed3\u679c\u4f1a\u53d8\u6210int\u7c7b\u578b\uff0c\u5bf9\u4e8ebyte\u3001short\u3001char\u548cint\u8fdb\u884c\u79fb\u4f4d\u65f6\uff0c\u89c4\u5b9a\u5b9e\u9645\u79fb\u52a8\u7684\u6b21\u6570\u662f\u79fb\u52a8\u6b21\u6570\u548c32\u7684\u4f59\u6570\uff0c\u4e5f\u5c31\u662f\u79fb\u4f4d33\u6b21\u548c\u79fb\u4f4d1\u6b21\u5f97\u5230\u7684\u7ed3\u679c\u76f8\u540c\u3002\u79fb\u52a8long\u578b\u7684\u6570\u503c\u65f6\uff0c\u89c4\u5b9a\u5b9e\u9645\u79fb\u52a8\u7684\u6b21\u6570\u662f\u79fb\u52a8\u6b21\u6570\u548c64\u7684\u4f59\u6570\uff0c\u4e5f\u5c31\u662f\u79fb\u52a866\u6b21\u548c\u79fb\u52a82\u6b21\u5f97\u5230\u7684\u7ed3\u679c\u76f8\u540c\u3002\u4e09\u79cd\u79fb\u4f4d\u8fd0\u7b97\u7b26\u7684\u79fb\u52a8\u89c4\u5219\u548c\u4f7f\u7528\u5982\u4e0b\u6240\u793a\uff1a>(\u5e26\u7b26\u53f7\u53f3\u79fb)\u8fd0\u7b97\u89c4\u5219\uff1a\u6309\u4e8c\u8fdb\u5236\u5f62\u5f0f\u628a\u6240\u6709\u7684\u6570\u5b57\u5411\u53f3\u79fb\u52a8\u5bf9\u5e94\u7684\u4f4d\u6570\uff0c\u4f4e\u4f4d\u79fb\u51fa(\u820d\u5f03)\uff0c\u9ad8\u4f4d\u7684\u7a7a\u4f4d\u8865\u7b26\u53f7\u4f4d\uff0c\u5373\u6b63\u6570\u8865\u96f6\uff0c\u8d1f\u6570\u88651\u3002\u8bed\u6cd5\u683c\u5f0f\uff1a\u9700\u8981\u79fb\u4f4d\u7684\u6570\u5b57 >> \u79fb\u4f4d\u7684\u6b21\u6570\u4f8b\u598211 >> 2\uff0c\u5219\u662f\u5c06\u6570\u5b5711\u53f3\u79fb2\u4f4d\u8ba1\u7b97\u8fc7\u7a0b\uff1a11\u7684\u4e8c\u8fdb\u5236\u5f62\u5f0f\u4e3a\uff1a0000 1011\uff0c\u7136\u540e\u628a\u4f4e\u4f4d\u7684\u6700\u540e\u4e24\u4e2a\u6570\u5b57\u79fb\u51fa\uff0c\u56e0\u4e3a\u8be5\u6570\u5b57\u662f\u6b63\u6570\uff0c\u6240\u4ee5\u5728\u9ad8\u4f4d\u8865\u96f6\u3002\u5219\u5f97\u5230\u7684\u6700\u7ec8\u7ed3\u679c\u662f0000 0010\u3002\u8f6c\u6362\u4e3a\u5341\u8fdb\u5236\u662f2\u3002\u6570\u5b66\u610f\u4e49\uff1a\u53f3\u79fb\u4e00\u4f4d\u76f8\u5f53\u4e8e\u96642\uff0c\u53f3\u79fbn\u4f4d\u76f8\u5f53\u4e8e\u9664\u4ee52\u7684n\u6b21\u65b9\u3002\u8fd9\u91cc\u662f\u53d6\u5546\u54c8\uff0c\u4f59\u6570\u5c31\u4e0d\u8981\u4e86\u3002>>>(\u65e0\u7b26\u53f7\u53f3\u79fb)\u8fd0\u7b97\u89c4\u5219\uff1a\u6309\u4e8c\u8fdb\u5236\u5f62\u5f0f\u628a\u6240\u6709\u7684\u6570\u5b57\u5411\u53f3\u79fb\u52a8\u5bf9\u5e94\u4f4d\u6570\uff0c\u4f4e\u4f4d\u79fb\u51fa(\u820d\u5f03)\uff0c\u9ad8\u4f4d\u7684\u7a7a\u4f4d\u8865\u96f6\u3002\u5bf9\u4e8e\u6b63\u6570\u6765\u8bf4\u548c\u5e26\u7b26\u53f7\u53f3\u79fb\u76f8\u540c\uff0c\u5bf9\u4e8e\u8d1f\u6570\u6765\u8bf4\u4e0d\u540c\u3002 \u5176\u4ed6\u7ed3\u6784\u548c>>\u76f8\u4f3c\u3002

  按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。   右移一位相当于除2,右移n位相当于除以2的n次方。  l >>>  运算规则:  按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。  其他结构和>>相似。
有的时候,你希望将一个数的二进制值向右或向左移位。执行左移时,在一个数的二进制形式中,所有位都向左移动由移位运算符右侧的操作数指定的位数。 移位后在右边留下的空位将由零来填充。右移位运算符的原理相似,只是朝相反的方向移位。然而,如果数是负数,那么在左侧填充的值就是1而不是0。两个移位 运算符是>>和<<,它们分别是右移位和左移位运算符。除此之外,还有复合移位和赋值运算符<<=和>& gt;=。
  来看看下面的例子。假定现在有一个int值-7,它的二进制形式为1111 1111 1111 1111 1111 1111 1111 1001。在代码清单3-36中,我们使-7右移2个位置。
代码清单3-36 使用右移位运算符 int x;x = (-7 >> 2); // 11111111111111111111111111111001 becomes// 11111111111111111111111111111110// Write out "x is -2."System.Console.WriteLine("x = {0}.", x);输出3-17展示了代码清单3-36的结果。
输出3-17 x = -2.  向右移位时,最右边的比特值会在边界处“离开”,左边的负数位标识符向右移动两个位置,腾出来的空白位置用1来填充。最终结果是-2。



  • 浣杩愮畻绗鍙<鍜>鐨勫尯鍒?
    绛旓細C璇█涓<< 浠h〃宸︾Щ杩愮畻绗︼紝>> 浠h〃鍙崇Щ杩愮畻绗︼紝浣绉讳綅杩愮畻绗鏄皢鏁版嵁鐪嬫垚浜岃繘鍒舵暟锛屽鍏惰繘琛屽悜宸︽垨鍚戝彸绉诲姩鑻ュ共浣鐨勮繍绠銆<< 浠h〃宸︾Щ杩愮畻绗︼細宸︾Щ杩愮畻绗︾敤鏉ュ皢涓涓暟鐨勫悇浜岃繘鍒朵綅鍏ㄩ儴宸︾Щ鑻ュ共浣嶏紝绉诲姩鐨勪綅鏁扮敱鍙虫搷浣滄暟鎸囧畾锛屽彸鎿嶄綔鏁板繀椤绘槸闈炶礋鍊硷紝鍏跺彸杈圭┖鍑虹殑浣嶇敤0濉ˉ锛岄珮浣嶅乏绉绘孩鍑哄垯鑸嶅純...
  • .C璇█涓,<<鏄粈涔堟剰鎬
    绛旓細C璇█涓紝<<鍜>>鏄绉讳綅鎿嶄綔绗锛屼笅闈㈡槸缃戜笂鐨勮祫鏂欙細浣绉讳綅杩愮畻绗鏄皢鏁版嵁鐪嬫垚浜岃繘鍒舵暟锛屽鍏惰繘琛屽悜宸︽垨鍚戝彸绉诲姩鑻ュ共浣鐨勮繍绠銆備綅绉讳綅杩愮畻绗﹀垎涓哄乏绉诲拰鍙崇Щ涓ょ锛屽潎涓哄弻鐩繍绠楃銆傜涓杩愮畻瀵硅薄鏄Щ浣嶅璞★紝绗簩涓繍绠楀璞℃槸鎵绉荤殑浜岃繘鍒朵綅鏁般傜Щ浣嶆椂锛岀Щ鍑虹殑浣嶆暟鍏ㄩ儴涓㈠純锛岀Щ鍑虹殑绌轰綅琛ュ叆鐨勬暟涓庡乏绉...
  • C璇█涓杩愮畻绗||鐨勬剰鎬濇槸浠涔
    绛旓細C璇█涓綅绉讳綅杩愮畻绗︽槸灏嗘暟鎹湅鎴愪簩杩涘埗鏁帮紝瀵瑰叾杩涜鍚戝乏鎴栧悜鍙崇Щ鍔ㄨ嫢骞蹭綅鐨勮繍绠椼備綅绉讳綅杩愮畻绗﹀垎涓哄乏绉诲拰鍙崇Щ涓ょ锛屽潎涓哄弻鐩繍绠楃銆傜涓杩愮畻瀵硅薄鏄Щ浣嶅璞★紝绗簩涓繍绠楀璞℃槸鎵绉荤殑浜岃繘鍒朵綅鏁般備綅绉讳綅杩愮畻绗︾殑杩愮畻瀵硅薄銆杩愮畻瑙勫垯涓庣粨鏋溿佺粨鍚堟у琛2-16鎵绀恒傜Щ浣嶆椂锛岀Щ鍑虹殑浣嶆暟鍏ㄩ儴涓㈠純锛岀Щ鍑虹殑...
  • 绉讳綅杩愮畻绗-C璇█
    绛旓細鎺㈢储C璇█鐨勭绉樺姏閲忥細绉讳綅杩愮畻绗 鎯宠薄涓涓嬶紝鏁板瓧鐨勪笘鐣屽氨鍍忎竴涓绉樼殑鎷煎浘锛岃岀Щ浣嶈繍绠楃灏辨槸閭g濂囩殑榄旀湳甯堬紝鑳界灛闂存敼鍙樻暟瀛楃殑闈㈣矊銆傝鎴戜滑涓璧锋繁鍏ヤ簡瑙d竴涓婥璇█涓殑鍙崇Щ(>>)鍜屽乏绉(<<)杩欎袱椤鎿嶄綔銆傚彸绉(>>)灏卞儚鏄暟瀛椾笘鐣岀殑缂╁皬闀滐紝褰撲綘鎶8杩欎釜鏁板瓧("0001000")鍚戝彸绉诲姩涓浣嶏紝...
  • 浣绉讳綅杩愮畻绗
    绛旓細<<宸︾Щ杩愮畻绗锛杩愮畻瑙勫垯锛氭妸"<<"宸﹁竟鐨勮繍绠鏁扮殑鍚勪簩杩涘埗浣嶅叏閮ㄥ乏绉昏嫢骞蹭綅锛岀Щ鍔ㄧ殑浣嶆暟鐢"<<"鍙宠竟鐨勬暟鎸囧畾锛岄珮浣嶄涪寮冿紝鍦颁綅琛0銆傚彲浠ュ疄鐜颁箻娉曡繍绠楋紝浜岃繘鍒0000011<<2寰椾簩杩涘埗00001100.>>鍙崇Щ杩愮畻绗︼細杩愮畻瑙勫垯锛氭妸">>"宸﹁竟鐨勮繍绠楁暟鐨勫悇浜岃繘鍒朵綅鍏ㄩ儴鍙崇Щ鑻ュ共浣嶏紝绉诲姩鐨勪綅鏁扮敱">>"鍙宠竟鐨勬暟鎸囧畾銆...
  • JAVA闈㈣瘯棰,璇烽棶杩欎袱涓(-2>>2 ,2<<2)鐨勫煎垎鍒槸浠涔?涓轰粈涔堛傝阿璋鐧惧害...
    绛旓細涓夌绉讳綅杩愮畻绗︾殑绉诲姩瑙勫垯鍜屼娇鐢ㄥ涓嬫墍绀猴細<<杩愮畻瑙勫垯锛氭寜浜岃繘鍒跺舰寮忔妸鎵鏈夌殑鏁板瓧鍚戝乏绉诲姩瀵瑰簲鐨勪綅鏁帮紝楂樹綅绉诲嚭锛堣垗寮冿級锛屼綆浣嶇殑绌轰綅琛ラ浂銆傝娉曟牸寮忥細闇瑕佺Щ浣嶇殑鏁板瓧 << 绉讳綅鐨勬鏁 渚嬪锛 3 << 2锛屽垯鏄皢鏁板瓧3宸︾Щ2浣 璁$畻杩囩▼锛3 << 2 棣栧厛鎶3杞崲涓轰簩杩涘埗鏁板瓧0000 0000 0000 0000 0000 0000...
  • 璇烽棶java涓8>>1鏄粈涔堟剰鎬?
    绛旓細涓夌绉讳綅杩愮畻绗︾殑绉诲姩瑙勫垯鍜屼娇鐢ㄥ涓嬫墍绀猴細<<杩愮畻瑙勫垯锛氭寜浜岃繘鍒跺舰寮忔妸鎵鏈夌殑鏁板瓧鍚戝乏绉诲姩瀵瑰簲鐨勪綅鏁帮紝楂樹綅绉诲嚭锛堣垗寮冿級锛屼綆浣嶇殑绌轰綅琛ラ浂銆傝娉曟牸寮忥細闇瑕佺Щ浣嶇殑鏁板瓧 << 绉讳綅鐨勬鏁 渚嬪锛3 << 2锛屽垯鏄皢鏁板瓧3宸︾Щ2浣 璁$畻杩囩▼锛3 << 2 棣栧厛鎶3杞崲涓轰簩杩涘埗鏁板瓧0000 0000 0000 0000 0000 0000 ...
  • C閲屼綅绉杩愮畻绗鍙蜂綅鍋氭敼鍙樺悧?!杩樻槸淇濇寔涓嶅彉?!
    绛旓細绠鍗绉讳綅瑙勫垯鏄繖鏍风殑锛氱Щ浣嶆椂锛岀Щ鍑虹殑浣嶆暟鍏ㄩ儴涓㈠純锛岀Щ鍑虹殑绌轰綅琛ュ叆鐨勬暟涓庡乏绉昏繕鏄彸绉昏姳鎺ユ湪鏈夊叧銆傚鏋滄槸宸︾Щ锛屽垯瑙勫畾琛ュ叆鐨勬暟鍏ㄩ儴鏄0锛涘鏋滄槸鍙崇Щ锛岃繕涓庤绉讳綅鐨鏁版嵁鏄惁甯︾鍙锋湁鍏炽傝嫢鏄笉甯︾鍙锋暟锛屽垯琛ュ叆鐨勬暟鍏ㄩ儴涓0锛涜嫢鏄甫绗﹀彿鏁帮紝鍒欒ˉ鍏ョ殑鏁板叏閮ㄧ瓑浜庡師鏁扮殑鏈宸︾浣嶄笂鐨勫師鏁(鍗冲師绗﹀彿...
  • 绉讳綅杩愮畻绗鎬庝箞绉荤殑?
    绛旓細bytemask=intmax<<8;intmax 鎸2杩涘埗鍚戝乏绉诲姩 2杩涘埗鍏綅锛屽彸杈硅ˉ0锛屽乏杈归珮浣嶆孩鍑轰涪寮 intmax=4294967195锛16杩涘埗 0xffffff9b 宸绉2杩涘埗鍏綅, 灏辨槸宸︾Щ16杩涘埗2浣嶏紝 16杩涘埗 0xffff9b00 鎵撳嵃鍑虹殑10杩涘埗灏变笉澶鏄撶湅銆傚乏绉1浣嶅疄闄呬笂绛変簬 涔2锛屽乏绉8浣嶅氨鏄 涔樹簡 8 娆 2銆傞珮浣嶆孩鍑轰涪寮冿紝涓㈠純...
  • c璇█||杩愮畻绗︾殑浼樺厛绾ф槸澶氬皯?
    绛旓細鈥渱|鈥濆叾瀹冨父鐢ㄨ繍绠楃锛1銆绉讳綅杩愮畻绗 << 宸︾Щ杩愮畻绗︼紱>> 鍙崇Щ杩愮畻绗︺2銆佸叧绯昏繍绠楃 <銆<=銆>銆>=鍏崇郴杩愮畻绗︺3銆佺浉绛夎繍绠楃 鈥 == 鈥濈瓑浜庤繍绠楃锛涒 != 鈥濅笉绛変簬杩愮畻绗︺4銆佷綅涓庤繍绠楃 鈥 & 鈥濇寜浣嶄笌杩愮畻绗 5銆佷綅寮傛垨杩愮畻绗 鈥 鈭 鈥濇寜浣嶅紓鎴栬繍绠楃锛圔itwise exclusive OR ...
  • 扩展阅读:计算机移位运算 ... c语言中逻辑与运算规则 ... 运算符优先级由高到低 ... 算术运算符的运算规则 ... 负数补码移位会溢出吗 ... 4种运算符优先级顺序 ... &&的运算法则 ... 逻辑移位规则 ... 补码的移位规则 ...

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