C++中的左移右移运算有什么作用 在c++位运算里什么是左移位和右移位

C++ \u6309\u4f4d\u5de6\u79fb/\u53f3\u79fb\u8fd0\u7b97\u7b26\uff08<<\u3001>>\uff09\u7684\u91cd\u8f7d\u7684\u95ee\u9898\u3002

\u4f4d\u79fb\u8fd0\u7b97\u7b26\u4e0d\u9700\u8981\u91cd\u8f7d\u3002
#includeusing namespace std;int main(){ int x=0x3; x=x<<1; cout<<x<<endl; return 0;}

\u5de6\u79fb\u4f4d\u5c31\u662f\u6bd4\u5982\u4e8c\u8fdb\u5236 0000 1011 \u5de6\u79fb\u4e00\u4f4d\u5c31\u662f 0001 0110\uff0c\u76f8\u5f53\u4e8e\u4e582
\u53f3\u79fb\u4f4d\u7c7b\u4f3c\uff0c 0000 1011 \u53f3\u79fb\u4e00\u4f4d\u5c31\u662f 0000 0101\uff0c\u76f8\u5f53\u4e8e\u96642

首先在计算机中,不管是数字还是字母或者符号,都用一个特定的二进制码来表示,左移右移可以直接操纵二进制码,对于一些数字的处理非常方便,比如十进制的5用二进制表示为101,那么想变成10则左移一位,空位用0补充就变成了1010;如果想计算5/2取整,则直接右移一位变成010,就是2

可以快速地将对象乘2、4、8或除

  • 宸︾Щ杩愮畻绗﹀拰鍙崇Щ杩愮畻绗︽湁鍝簺?
    绛旓細1銆佸乏绉昏繍绠楃锛<<锛夛細鎸変簩杩涘埗褰㈠紡鎶婃墍鏈夌殑鏁板瓧鍚宸︾Щ鍔瀵瑰簲鐨勪綅鏁帮紝楂樹綅绉诲嚭(鑸嶅純)锛屼綆浣嶇殑绌轰綅琛ラ浂銆傛牸寮忥細闇瑕佺Щ浣嶇殑鏁板瓧 << 绉讳綅鐨勬鏁 渚嬪锛3<<2 3杞崲涓轰簩杩涘埗鏄0011锛屾墍鏈夋暟瀛楀乏绉2涓綅缃紝绌轰綅琛0锛屽緱鍒1100锛屽嵆鍗佽繘鍒舵暟12銆2銆鍙崇Щ杩愮畻绗︼紙>>锛夛細鎸変簩杩涘埗鎶婃墍鏈夌殑鏁板瓧鍚戝彸绉诲姩瀵瑰簲...
  • C璇█闂,鍦ㄤ綅杩愮畻涓,鎿嶄綔鏁版瘡鍙崇Щ涓浣,鍏剁粨鏋滅浉褰撲簬浠涔?鑻宸︾Щ1浣...
    绛旓細鍙崇Щ瀵圭鍙蜂綅鐨勫鐞嗗拰宸︾Щ涓嶅悓锛屽浜庢湁绗﹀彿鏁存暟鏉ヨ锛屾瘮濡俰nt绫诲瀷锛屽彸绉讳細淇濇寔绗﹀彿浣嶄笉鍙橈紝渚嬪锛歩nti=0x80000000锛沬=i>>1锛//i鐨勫间笉浼氬彉鎴0x40000000锛岃屼細鍙樻垚0xc0000000 2銆佸乏绉伙紝涔樹互2宸︾Щn浣嶄箻浠2鐨刵娆℃柟锛涘厛璇村乏绉伙紝宸︾Щ灏辨槸鎶婁竴涓暟鐨勬墍鏈変綅閮藉悜宸︾Щ鍔鑻ュ共浣嶏紝鍦C涓鐢<<杩愮畻绗︺
  • C绋嬪簭涓,宸︾Щ"<<"銆鍙崇Щ">>" 鐨勫叿浣撶敤娉曟槸浠涔
    绛旓細棣栧厛瑕佺煡閬撴槸浜岃繘鍒舵寜浣绉诲姩锛屼笖鐢0琛ヤ綅銆傛瘮濡俛=5<<1锛屽氨鏄痑绛変簬5宸︾Щ1浣嶏紝鍏蜂綋灏辨槸鍏堟妸5鎹㈢畻鎴愪簩杩涘埗0101锛岀劧鍚庢墍鏈変綅宸︾Щ涓浣嶏紝鍙宠竟鐢0琛ヤ綅锛屽氨鍙樻垚浜1010.
  • c璇█涓璛OR鏄粈涔堟剰鎬?璇烽棶鏈変粈涔浣滅敤?宸︾Щ鍙崇Щ鍛?鑳戒笉鑳戒妇涓緥瀛,鎴...
    绛旓細xor鏄紓鎴栫殑鎰忔濓紝宸︾Щ鍙崇Щ浠涔鐨勯兘鏄綅杩愮畻锛岄兘鏄簩杩涘埗灞傞潰璁$畻鐨勶紝姣斿2^1 灏辨槸2XOR1, 鎹负浜岃繘鍒舵槸10 ^ 01 寮傛垨灏辨槸鐩稿悓涓0涓嶅悓涓1锛岄偅涔堢粨鏋滃氨鏄11锛屽氨鏄3锛屽紓鎴栨湁寰堝阀濡欑殑浣滅敤锛屼互鍚庡彲鑳戒細鎺ヨЕ鍒帮紝宸︾Щ鍙崇Щ灏辨槸鎹负浜岃繘鍒剁劧鍚庡悜宸︾Щ浣嶏紝鎴栬呭悜鍙崇Щ浣嶏紝宸︾Щ锛氱収浜岃繘鍒跺兼瘡浣嶅悜楂樹綅...
  • C璇█浣嶆搷浣杩愮畻鏈鍝簺?
    绛旓細浣嶆搷浣杩愮畻閮藉彧鑳芥槸鏁村舰鎴栧瓧绗﹀瀷锛屽瓧绗﹀瀷瀹為檯鏄崟瀛楄妭鏁村舰銆傚寘鎷互涓嬪嚑涓搷浣滅锛氭寜浣嶄笌&锛屾寜浣嶆垨 |锛屾寜浣嶅紓鎴 ^锛宸︾Щ<<锛鍙崇Щ>>鍙﹀杩樻湁涓涓彇浣欐搷浣滐細%a%b鐨勬剰鎬濇槸锛宎闄や互b锛屽彇浣欐暟銆傝繖涓槸C璇█鐨勭‖鎬ц瀹氾紝浣嶆搷浣滈兘鏄鏁版寜鐓т簩杩涘埗杩涜琛ㄨ揪鐨勬椂鍊欐墠鏈夌殑姒傚康锛涜屽彇浣欐搷浣滄槸鏁存暟鐩搁櫎寰椾綑鏁...
  • c璇█涓殑宸璋冩暣鍜屽彸璋冩暣鏄浠涔鎰忔?
    绛旓細浠涔堟槸宸﹁皟鏁村彸璋冩暣 涓嬮潰鏄乏绉诲拰鍙崇Щ銆傚厛璇村乏绉,宸︾Щ灏辨槸鎶婁竴涓暟鐨勬墍鏈変綅閮藉悜宸︾Щ鍔鑻ュ共浣,鍦C涓鐢<<杩愮畻绗.渚嬪:int i = 1;i = i << 2; //鎶奿閲岀殑鍊煎乏绉2浣 涔熷氨鏄,1鐨2杩涘埗鏄000...0001(杩欓噷1鍓嶉潰0鐨勪釜鏁板拰int鐨勪綅鏁版湁鍏,32浣嶆満鍣,gcc閲屾湁31涓0),宸︾Щ2浣嶄箣鍚庡彉鎴...
  • C鐨勫彸绉昏繍绠绗浠涔鐢
    绛旓細鍙崇Щ杩愮畻绗︹>>鈥濇槸鍙岀洰杩愮畻绗︺傚叾鍔熻兘鏄妸鈥>> 鈥濆乏杈圭殑杩愮畻鏁扮殑鍚勪簩杩涗綅鍏ㄩ儴鍙崇Щ鑻ュ共浣嶏紝鈥>>鈥濆彸杈圭殑鏁版寚瀹氱Щ鍔ㄧ殑浣嶆暟銆備緥濡傦細璁 a=15锛宎>>2 琛ㄧず鎶000001111鍙崇Щ涓00000011(鍗佽繘鍒3)銆傚簲璇ヨ鏄庣殑鏄紝瀵逛簬鏈夌鍙锋暟锛屽湪鍙崇Щ鏃讹紝绗﹀彿浣嶅皢闅忓悓绉诲姩銆傚綋涓烘鏁版椂锛屾渶楂樹綅琛0锛岃屼负璐熸暟鏃讹紝...
  • C璇█宸︿綅绉昏繍绠绗﹀拰鍙充綅绉昏繍绠楃鏄浠涔鎰忔,鎬庝箞杩愮畻,涓句釜渚嬪瓙...
    绛旓細灏辨槸鎶婁竴涓暟杞寲鎴愪簩杩涘埗鍐嶇洿鎺ュ浠栬繘琛屾搷浣 渚嬪锛45>>2 //45鍙崇Щ涓や綅 45鐨勪簩杩涘埗涓猴細101101 鍙崇Щ涓や綅灏变负锛 001011 001011鍐嶈浆鍖栦负鍗佽繘鍒朵负锛11 鎵浠45>>2= 11 宸︾Щ杩愮畻绗 45<<2 45鐨勪簩杩涘埗涓猴細101101 宸︾Щ涓や綅灏变负锛10110100 10110100鍐嶈浆鍖栦负鍗佽繘鍒朵负锛180 鎵浠45<<2=180 ...
  • 鍦╟++浣杩愮畻閲浠涔鏄宸︾Щ浣嶅拰鍙崇Щ浣
    绛旓細绉讳綅鎿嶄綔鍦ㄧ▼搴忚璁′腑锛屼綅鎿嶄綔杩愮畻绗︾殑涓绉嶃1.鍦╟++涓紝绉讳綅杩愮畻绗︽湁鍙岀洰绉讳綅杩愮畻绗︼細<<锛宸︾Щ锛夊拰锛堝彸绉伙級銆傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣嶏紝绉诲嚭浣嶈涓㈠純锛屽彸杈圭殑绌轰綅涓寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗...
  • C#绉讳綅杩愮畻
    绛旓細1锛宸︾Щ锛氬皢姣忎釜浜岃繘鍒剁殑鏁板瓧寰宸﹁竟绉诲姩鑻ュ共浣嶏紙鑻ュ共浣嶏細绗﹀彿鈥<<鈥濆悗闈㈢殑鏁板瓧锛屼笉瓒充互0琛ュ厖锛夈2锛鍙崇Щ锛氬皢姣忎釜浜岃繘鍒剁殑鏁板瓧寰鍙宠竟绉诲姩鑻ュ共浣嶏紙鑻ュ共浣嶏細绗﹀彿鈥>>鈥濆悗闈㈢殑鏁板瓧锛屼笉瓒充互鏈楂樹綅鐨勬暟瀛楄ˉ鍏咃級銆備笅闈㈢粰鍑哄叿浣撲緥瀛愶細銆愪緥銆璁$畻2<<2鍜2>>2锛氬湪璁$畻鏈轰腑锛屾鏁存暟2鐨勬簮鐮侊紳鍙嶇爜锛濊ˉ鐮侊紳...
  • 扩展阅读:c++加减乘除运算编程 ... c语言中的左移和右移 ... 怎么把整行文字左移 ... c++运算符号大全 ... 怎么判断核左移还是右移 ... c语言左移位和右移位 ... 核左移核右移临床意义 ... 二进制右移一位的效果 ... 再障是核左移还是核右移 ...

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