位移位运算符 “移位运算符在移位操作中,无论左移还是右移,所移出的空位一律...

\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26

\u8981\u4e86\u89e3\u79fb\u4f4d\u8fd0\u7b97\uff0c\u9700\u660e\u767d\u4e8c\u8fdb\u5236\u8ba1\u6570

\u4ee5\u5355\u5b57\u8282\u4e3a\u4f8b\uff0c\u6bd4\u59820x55=0b01010101

\u5982\u679c\u5c06\u8be5\u6570\u503c\u5de6\u79fb1\u4f4d\uff0c\u5c31\u53d8\u6210\u4e86 0b10101010\uff08\u6700\u53f3\u8fb9\u8fd9\u4e2a0\u662f\u79fb\u7a7a\u4e86\u4ee5\u540e\u8865\u7684\uff09\uff0c\u8fd9\u4e2a\u6570\u503c\u662f0xaa

\u4ece\u6570\u5b66\u4e0a\u770b\uff0c\u5de6\u79fb1\u4f4d\u7b49\u4e8e\u4e58\u4ee52\uff0c\u53f3\u79fb1\u4f4d\u7b49\u4e8e\u9664\u4ee52\uff0c\u7136\u540e\u518d\u53d6\u6574\uff0c\u79fb\u4f4d\u6ea2\u51fa\u7684\u4e22\u5f03\u3002

\u4f8b\u5982:

unsigned char a;
a=1; //0b00000001
a<<=1; //0b00000010 a\u5de6\u79fb1\u4f4d\u7b49\u6548\u4e8ea=a*2
a<<=2; //0b00001000 a\u5de6\u79fb2\u4f4d\u7b49\u6548\u4e8ea=a*2\u76842\u6b21\u65b9\uff084\uff09
a<<=3; //0b01000000 a\u5de6\u79fb1\u4f4d\u7b49\u6548\u4e8ea=a*2\u76843\u6b21\u65b9\uff088\uff09
a<<=1; //0b10000010 a\u5de6\u79fb1\u4f4d\u7b49\u6548\u4e8ea=a*2
a<<=1; //0b00000000 a\u518d\u6b21\u5de6\u79fb1\u4f4d\u540e\u6ea2\u51fa\u4e86\uff0c\u7ed3\u679c\u53d8\u62100\u4e86

c=a<<b; \u5728\u53d8\u91cf\u90fd\u662f8\u4f4d\u7684\u65f6\u5019\uff0c\u7b49\u6548\u4e8e c=(a*pow(2,b))%256

\u4e0d\u5b8c\u5168\u6b63\u786e\u3002
1\u3001\u79fb\u4f4d\u64cd\u4f5c\u5728\u7a0b\u5e8f\u8bbe\u8ba1\u4e2d\uff0c\u79fb\u4f4d\u64cd\u4f5c\u8fd0\u7b97\u7b26\u7684\u4e00\u79cd\u3002
2\u3001\u5728c++\u4e2d\uff0c\u79fb\u4f4d\u8fd0\u7b97\u7b26\u6709\u53cc\u76ee\u79fb\u4f4d\u8fd0\u7b97\u7b26\uff1a>\uff08\u53f3\u79fb\uff09\u3002\u79fb\u4f4d\u8fd0\u7b97\u7b26\u7ec4\u6210\u7684\u8868\u8fbe\u5f0f\u4e5f\u5c5e\u4e8e\u7b97\u672f\u8868\u8fbe\u5f0f\uff0c\u5176\u503c\u4e3a\u7b97\u672f\u503c\u3002
3\u3001\u9996\u5148\u8981\u660e\u767d\u4e00\u70b9\uff0c\u8fd9\u91cc\u9762\u6240\u6709\u7684\u64cd\u4f5c\u90fd\u662f\u9488\u5bf9\u5b58\u50a8\u5728\u8ba1\u7b97\u673a\u4e2d\u4e2d\u4e8c\u8fdb\u5236\u7684\u64cd\u4f5c\uff0c\u90a3\u4e48\u5c31\u8981\u77e5\u9053\uff0c\u6b63\u6570\u5728\u8ba1\u7b97\u673a\u4e2d\u662f\u7528\u4e8c\u8fdb\u5236\u8868\u793a\u7684\uff0c\u8d1f\u6570\u5728\u8ba1\u7b97\u673a\u4e2d\u4f7f\u7528\u8865\u7801\u8868\u793a\u7684\u3002
\u5de6\u79fb\u4f4d\uff1a<<\uff0c\u6709\u7b26\u53f7\u7684\u79fb\u4f4d\u64cd\u4f5c\uff1b
\u5de6\u79fb\u64cd\u4f5c\u65f6\u5c06\u8fd0\u7b97\u6570\u7684\u4e8c\u8fdb\u5236\u7801\u6574\u4f53\u5de6\u79fb\u6307\u5b9a\u4f4d\u6570\uff0c\u5de6\u79fb\u4e4b\u540e\u7684\u7a7a\u4f4d\u75280\u8865\u5145\uff1b
\u53f3\u79fb\u4f4d\uff1a>>\uff0c\u6709\u7b26\u53f7\u7684\u79fb\u4f4d\u64cd\u4f5c\uff1b
\u53f3\u79fb\u64cd\u4f5c\u662f\u5c06\u8fd0\u7b97\u6570\u7684\u4e8c\u8fdb\u5236\u7801\u6574\u4f53\u53f3\u79fb\u6307\u5b9a\u4f4d\u6570\uff0c\u53f3\u79fb\u4e4b\u540e\u7684\u7a7a\u4f4d\u7528\u7b26\u53f7\u4f4d\u8865\u5145\uff0c\u5982\u679c\u662f\u6b63\u6570\u75280\u8865\u5145\uff0c\u8d1f\u6570\u75281\u8865\u5145\u3002
\u65e0\u7b26\u53f7\u7684\u79fb\u4f4d\u53ea\u6709\u53f3\u79fb\uff1a>>>
\u53f3\u79fb\u4e4b\u540e\u7684\u7a7a\u4f4d\u5168\u90e8\u88650\u3002
4\u3001\u4f60\u53ef\u4ee5\u7528\u4e00\u4e2a\u7acb\u5373\u503c(\u4ece 0 \u5230 31)\u6307\u5b9a\u79fb\u4f4d\u6570\u91cf\uff0c\u6216\u7528\u5305\u542b\u5728 0 \u548c 31 \u4e4b\u95f4\u7684\u4e00\u4e2a\u503c\u7684\u5bc4\u5b58\u5668\u6307\u5b9a\u79fb\u4f4d\u6570\u91cf\u3002
\u903b\u8f91\u6216\u7b97\u672f\u5de6\u79fb(LSL)
MOV R1, #12
MOV R0, R1, LSL#2
R0 \u662f 48\uff0c\u8fd9\u4e9b\u6307\u4ee4\u5f62\u6210\u7684\u603b\u548c\u662fR0 = #12, LSL#2 \u7b49\u540c\u4e8e BASIC \u7684 R0 = 12 << 2

c语言位运算符包括
位逻辑运算符

移位运算符。
位逻辑运算符:&按位与,|按位或,^按位异或,~取反
移位运算符:<<左移,>>右移
-----------------------------------------------------------------------
&按位与运算符:二进制中运算,0&0=0,0&1=0,1&0=0,1&1=1,相当于布尔型的与运算
|按位或运算符:二进制中运算,0|0=0,0|1=1,1|0=1,1|1=1,相当于布尔型的或运算
^按位异或运算符:二进制中运算,0^0=0,0^1=1,1^0=1,1^1=0,0与0位异或等于0,1与1位异或等于0,1和0异或等于1
~取反运算符,二进制中运算:~1=0,~0=1,非1等于0(非真得假)非0等于1(非假得真)。
<<左移运算符:运算规则:把"<<"左边的运算数的各二进制位全部左移若干位,移动的位数由"<<"右边的数指定,高位丢弃,地位补0。可以实现乘法运算,二进制0000011<<2得二进制00001100.
>>右移运算符:运算规则:把">>"左边的运算数的各二进制位全部右移若干位,移动的位数由">>"右边的数指定。有符号的数右移时符号也随着右移;是正数的话在最高位补0,是负数的话,符号位为1,最高位补0还是补1决取于计算机系统的规定。移入0的称为"逻辑右移",移入1的称为“算术左移”。很多系统规定为补1,即“算术右移”。右移运算可以实现除法的功能,右移1位相当于该数除以2,右移n位相当于该数除以2的n次方。
-------------------------------------------------------------------------
运算符
优先级
运算符类型
&
8
双目
|
10
双目
^
9
双目
~
2
单目
<<
5
双目
>>
5
双目
---------------------------------------------------------------------------

  • 绉讳綅杩愮畻绗鏈夊摢浜,鍚勮〃绀轰粈涔堟剰鎬?
    绛旓細1銆佸乏绉昏繍绠楃锛<<锛夛細鎸変簩杩涘埗褰㈠紡鎶婃墍鏈夌殑鏁板瓧鍚戝乏绉诲姩瀵瑰簲鐨勪綅鏁帮紝楂樹綅绉诲嚭(鑸嶅純)锛屼綆浣嶇殑绌轰綅琛ラ浂銆傛牸寮忥細闇瑕佺Щ浣嶇殑鏁板瓧 << 绉讳綅鐨勬鏁 渚嬪锛3<<2 3杞崲涓轰簩杩涘埗鏄0011锛屾墍鏈夋暟瀛楀乏绉2涓綅缃紝绌轰綅琛0锛屽緱鍒1100锛屽嵆鍗佽繘鍒舵暟12銆2銆佸彸绉昏繍绠楃锛>>锛夛細鎸変簩杩涘埗鎶婃墍鏈夌殑鏁板瓧鍚戝彸绉诲姩瀵瑰簲...
  • verilog涓绉讳綅鎿嶄綔绗﹀彿
    绛旓細verilog涓Щ浣嶆搷浣滅鍙锋湁2绉嶏紝鍒嗗埆鏄<<鈥濆乏绉讳綅杩愮畻绗﹀拰鈥>>鈥濆彸绉讳綅杩愮畻绗銆傛牸寮忓涓嬶細a<<n锛宎>>n銆傚叾涓紝a浠h〃瑕佺Щ浣嶇殑鎿嶄綔鏁帮紝n浠h〃瑕佺Щ鍑犱綅銆備袱绉嶈繍绠楁柟寮忛兘鐢0鏉ュ~琛ョЩ鍑虹殑绌轰綅銆傜Щ浣嶆搷浣滅瀵瑰乏杈圭殑鎿嶄綔鏁拌繘琛屽悜宸︽垨鍚戝彸鐨勪綅绉讳綅鎿嶄綔锛岀浜屼釜鎿嶄綔鏁帮紝绉讳綅浣嶆暟鏄棤绗﹀彿鏁帮紝閬靛惊鐨勬搷浣滆寰...
  • 浣嶇Щ浣嶈繍绠楃
    绛旓細绉讳綅杩愮畻绗︺浣嶉昏緫杩愮畻绗︼細&鎸変綅涓庯紝|鎸変綅鎴栵紝^鎸変綅寮傛垨锛寏鍙栧弽 绉讳綅杩愮畻绗︼細<<宸︾Щ锛>>鍙崇Щ --- &鎸変綅涓庤繍绠楃锛氫簩杩涘埗涓繍绠,0&0=0,0&1=0,1&0=0,1&1=1锛岀浉褰撲簬甯冨皵鍨嬬殑涓庤繍绠 |鎸変綅鎴栬繍绠楃锛氫簩杩涘埗涓繍绠楋紝0|0=0,0|1=1,1|0=1,1|1=1锛岀浉褰撲簬甯冨皵鍨嬬殑鎴栬繍绠 ^鎸...
  • 浣嶆搷浣涓殑>
    绛旓細C璇█涓綅绉讳綅杩愮畻绗︽槸灏嗘暟鎹湅鎴愪簩杩涘埗鏁帮紝瀵瑰叾杩涜鍚戝乏鎴栧悜鍙崇Щ鍔ㄨ嫢骞蹭綅鐨勮繍绠銆備綅绉讳綅杩愮畻绗﹀垎涓哄乏绉诲拰鍙崇Щ涓ょ锛屽潎涓哄弻鐩繍绠楃銆傜涓杩愮畻瀵硅薄鏄Щ浣嶅璞★紝绗簩涓繍绠楀璞℃槸鎵绉荤殑浜岃繘鍒朵綅鏁般備綅绉讳綅杩愮畻绗︾殑杩愮畻瀵硅薄銆佽繍绠楄鍒欎笌缁撴灉銆佺粨鍚堟у琛2-16鎵绀恒傜Щ浣嶆椂锛岀Щ鍑虹殑浣嶆暟鍏ㄩ儴涓㈠純锛岀Щ鍑虹殑绌...
  • c璇█涓殑>>鍜<<鏄粈涔堟剰鎬?
    绛旓細1銆佸乏绉昏繍绠楃锛<<锛夎鍒欙細鎸変簩杩涘埗褰㈠紡鎶婃墍鏈夌殑鏁板瓧鍚戝乏绉诲姩瀵瑰簲鐨勪綅鏁帮紝楂樹綅绉诲嚭(鑸嶅純)锛屼綆浣嶇殑绌轰綅琛ラ浂銆傝娉曟牸寮忥細闇瑕佺Щ浣嶇殑鏁板瓧 << 绉讳綅鐨勬鏁帮紝渚嬪锛 3 << 2锛屽垯鏄皢鏁板瓧3宸︾Щ2浣嶃傛暟瀛︽剰涔夛細鍦ㄦ暟瀛楁病鏈夋孩鍑虹殑鍓嶆彁涓嬶紝瀵逛簬姝f暟鍜岃礋鏁帮紝宸︾Щ涓浣嶉兘鐩稿綋浜庝箻浠2鐨1娆℃柟锛屽乏绉籲浣嶅氨鐩稿綋...
  • 绉讳綅杩愮畻绗鍦ㄧЩ浣嶆搷浣滀腑,鏃犺宸︾Щ杩樻槸鍙崇Щ,鎵绉诲嚭鐨勭┖浣嶄竴寰嬭ˉ0銆傝繖鍙...
    绛旓細1.鍦╟++涓紝绉讳綅杩愮畻绗鏈夊弻鐩Щ浣嶈繍绠楃锛<<锛堝乏绉伙級鍜>>锛堝彸绉伙級銆傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣嶏紝绉诲嚭浣嶈涓㈠純锛屽彸杈圭殑绌轰綅涓寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜鍙崇Щ鍔紝绉诲嚭...
  • 15鐨勪簩杩涘埗 鍙崇Щ涓や綅缁撴灉鏄灏
    绛旓細15鍙崇Щ涓や綅灏辨槸15/锛2^2锛=15/4=3.75锛15鐨2杩涘埗鏄1111锛屽乏绉2浣嶅氨鏄111100灏辨槸60锛屽彸绉2浣嶅氨鏄11灏辨槸3銆傚皢涓涓杩愮畻瀵硅薄鐨勫悇浜岃繘鍒朵綅鍏ㄩ儴鍙崇Щ鑻ュ共浣嶏紝姝f暟宸﹁ˉ0锛岃礋鏁板乏琛1銆4 >> 2 = 1;-14 >> 2 = -4;銆愯ˉ鍏呫戯細瀵逛簬鍙崇Щ锛岀洿瑙傜殑鐞嗚В涓猴紝瀵逛簬姝f暟鏉ヨ锛屽彸1绉荤浉褰撲簬闄や互2锛...
  • 绉讳綅杩愮畻绗-C璇█
    绛旓細鎺㈢储C璇█鐨勭绉樺姏閲忥細绉讳綅杩愮畻绗 鎯宠薄涓涓嬶紝鏁板瓧鐨勪笘鐣屽氨鍍忎竴涓绉樼殑鎷煎浘锛岃岀Щ浣嶈繍绠楃灏辨槸閭g濂囩殑榄旀湳甯堬紝鑳界灛闂存敼鍙樻暟瀛楃殑闈㈣矊銆傝鎴戜滑涓璧锋繁鍏ヤ簡瑙d竴涓婥璇█涓殑鍙崇Щ(>>)鍜屽乏绉(<<)杩欎袱椤规搷浣溿傚彸绉(>>)灏卞儚鏄暟瀛椾笘鐣岀殑缂╁皬闀滐紝褰撲綘鎶8杩欎釜鏁板瓧("0001000")鍚戝彸绉诲姩涓浣嶏紝...
  • C璇█鐨绉讳綅鎿嶄綔绗︿娇鐢ㄦ柟娉
    绛旓細路浣嶇Щ浣嶈繍绠楃鏄悓绾у埆鐨勶紝缁撳悎鎬ф槸鑷乏鍚戝彸 渚嬪锛岃鏃犵鍙风煭鏁村瀷鍙橀噺a涓0111(瀵瑰簲浜岃繘鍒舵暟涓0000000001001001),鍒欙細a<<3 缁撴灉涓01110(瀵瑰簲浜岃繘鍒舵暟涓0000001001001000)锛宎涓嶅彉 a>>4 缁撴灉涓04銆(瀵瑰簲浜岃繘鍒舵暟涓0000000000000100)锛宎涓嶅彉 鍙堝锛岃鐭暣鍨嬪彉閲廰涓-4(瀵瑰簲浜岃繘鍒舵暟涓 1111111111111100...
  • C璇█涓浣嶇Щ浣嶈繍绠楃?
    绛旓細浣嶇Щ浣嶈繍绠楃锛岄【鍚嶆濊锛岀敤鏉ョЩ浣嶇敤銆傚锛歛=0x01;a <<=2;鍒欙紝a鍙樻垚0x04浜嗐備笂闈㈡槸宸︾Щ锛屽鏋滃彸绉绘槸a >>= 2;
  • 扩展阅读:移位运算器 ... 移位运算符举例 ... 位运算符 ... 按位与运算符& ... 算术移位符号位移动吗 ... 0.0030有效数字是几位 ... 位移法基本杆件弯矩图 ... 位运算符怎么打出来 ... 位移五个公式 ...

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