算术左移、逻辑左移、算术右移、逻辑右移有什么不同?

1、算术左移-逻辑左移

算术左移和逻辑左移一样都是右边补0: 比如 00101011 

算术左移一位:01010110 

逻辑左移一位:01010110 

对于二进制的数值来说左移n位等于原来的数值乘以2的n次方 

比如00011010十进制是26,左移两位后是01101000转成十进制是104恰好是26的4倍。 

ps:这种倍数关系只适用于左移后被舍弃的高位不含1的情况,否则会溢出。

2、算术右移,逻辑右移

逻辑右移很简单,只要将二进制数整体右移,左边补0即可 

如10101101逻辑右移一位为01010110 

算术右移符号位要一起移动,并且在左边补上符号位,也就是如果符号位是1就补1符号位是0就补0 

比如:11100算术右移一位为11110(符号位1跟着一起移动并且左边补了1) 

对于二进制的数值来说右移n位等于原来的数值除以2的n次方 

比如10110100十进制是76(需要先将这个补码转换成原码之后再转换成十进制),右移两位后是11101101转成十进制是19恰好是76的4倍。 

算术左移和算术右移主要用来进行有符号数的倍增、减半; 

逻辑左移和逻辑右移主要用来进行无符号数的倍增、减半。

扩展资料:

移位操作是计算机指令中比较基本的操作,是位运算的一种。

在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,编译器未做任何优化的情况下(优化后不可预期),规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。

移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。

算数左移位,即算术左移位,是一种带符号的左移位运算。

参考资料:百度百科-算术左移位



  • 璁$畻鏈虹殑绠楁湳宸︾Щ绔熺劧鍜閫昏緫宸︾Щ鐩稿悓鐨?绠楁湳宸︾Щ濂藉儚浼氭妸璐熺殑鏁板彉鎴愭...
    绛旓細妤间富锛屼綘濂姐傝绠楁満鐨绠楁湳宸︾Щ绔熺劧鍜閫昏緫宸︾Щ鐩稿悓鐨, 杩欎釜鏄纭殑銆傚彧鏈绠楁湳鍙崇Щ鍜岄昏緫鍙崇Щ鏄笉鍚岀殑銆傜畻鏈乏绉诲ソ鍍忎細鎶婅礋鐨勬暟鍙樻垚姝g殑锛 杩欏彞璇濅笉姝g‘ 渚嬪鏈変釜鏁扮殑浜岃繘鍒舵槸1000 0000B = -128, 閭d箞鎴戠幇鍦ㄦ妸瀹冨乏绉1浣嶏紝灏卞彉鎴愪簡1 0000 0000B = -256锛屽緢鏄庢樉1000 0000 宸︾Щ涓浣嶄笉鏄皢鏁板...
  • 绠楁湳浣嶇Щ杩愮畻绗﹀拰閫昏緫浣嶇Щ杩愮畻绗︽湁浠涔堝尯鍒?
    绛旓細鍦–璇█涓紝娑夊強浣嶇Щ鐨勮繍绠楃鏈2涓紝>>琛ㄧず鍙崇Щ锛<<鍒欒〃绀哄乏绉汇傝屾眹缂栨寚浠や腑锛孲HL鍜孲HR琛ㄧず閫昏緫宸︾Щ鍜岄昏緫鍙崇Щ锛孲AR鍜孲AL琛ㄧず绠楁湳宸︾Щ鍜绠楁湳鍙崇Щ銆傚叾涓锛岄昏緫宸︾Щ鍜岀畻鏈乏绉婚兘鏄瘎瀛樺櫒浜岃繘鍒朵綅鏁翠綋鍚宸︾Щ鍔紝骞跺湪鍙宠竟琛0銆傝屽彸绉诲垯涓嶅悓锛岄昏緫鍙崇Щ鏄暣浣撳悜鍙崇Щ锛屽苟鍦ㄥ乏杈硅ˉ0锛岃岀畻鏈乏绉诲垯鏄...
  • 姹囩紪璇█涓 sal(绠楁湳宸︾Щ鎸囦护)鍜宻hl(閫昏緫宸︾Щ鎸囦护)鎸囦护鐨勫尯鍒?_鐧惧害...
    绛旓細姹囩紪璇█涓 sal(绠楁湳宸︾Щ鎸囦护锛夊拰shl锛閫昏緫宸︾Щ鎸囦护锛夋寚浠ょ殑瀵诲潃鏂瑰紡銆佹帶鍒剁Щ浣嶆柟寮忕瓑閮戒竴鏍凤紝鍖哄埆鍏跺疄鍙湁涓澶勶細SAL绠楁湳绉浣嶆寚浠ゅ湪鎵ц鏃讹紝瀹為檯涓婃妸鎿嶄綔鏁扮湅鎴愭湁绗﹀彿鏁拌繘琛岀Щ浣嶏紝鏈楂樹綅绗﹀彿浣嶇Щ鍏F锛屼絾鏈韩淇濇寔鍘熷硷紱鍏朵綑浣嶉『搴宸︾Щ锛娆¢珮浣嶈鑸嶅純銆係HL閫昏緫绉浣嶆寚浠ゅ湪鎵ц鏃讹紝瀹為檯涓婃妸鎿嶄綔鏁扮湅鎴愭棤...
  • 鏄撹瑷鐨 "宸︾Щ"鍦ㄦ眹缂栭噷鏄粈涔?
    绛旓細浣嶅紓鎴栨槸xor 姹囩紪绉讳綅鎸囦护 ;SHL(Shift Left): 閫昏緫宸︾Щ ;SHR(Shift Right): 閫昏緫鍙崇Щ ;SAL(Shift Arithmetic Left): 绠楁湳宸︾Щ ;SAR(Shift Arithmetic Right): 绠楁湳鍙崇Щ ;鍏朵腑鐨 SHL 鍜 SAL 鐩稿悓, 浣 SHR 鍜 SAR 涓嶅悓.;SHL銆丼AL: 姣忎綅宸︾Щ, 浣庝綅琛 0, 楂樹綅杩 CF ;SHR : ...
  • 瀵8浣嶈ˉ鐮佹搷浣滄暟10101010鍒嗗埆绠楁暟宸︾Щ鍙崇Щ涓浣嶆槸 瀵8浣嶆搷浣滄暟10101010鍒 ...
    绛旓細绠楁湳宸︾Щ涓閫昏緫宸︾Щ鐨勬搷浣滃畬鍏ㄧ浉鍚屻備絾绠楁湳鍙崇Щ涓庨昏緫鍙崇Щ鐨勬搷浣滀笉涓鏍枫傞昏緫鍙崇Щ鐨勭洰鏍囨搷浣滄暟鐨勫乏绔Щ鍏0锛岃岀畻鏈彸绉诲垯淇濇寔鐩爣鎿嶄綔鏁扮殑绗﹀彿浣嶏紙鍗虫渶楂樻湁鏁堜綅锛変笉鍙
  • Verilog涓 绠楁湳宸︾Щ/鍙崇Щ 涓 閫昏緫宸︾Щ/鍙崇Щ 鍒板簳鏈変粈涔堝尯鍒?
    绛旓細// <<< ... Left shift and maintain sign bit // >> ... Right shift (i.e. b << 1 shifts b one bits to the right)// >>> ... Right shift and maintain sign bit 杩欐槸xilinx鐨勮鏄庯紝瑙i噴涓涓嬶細绠楁湳宸︾Щ/鍙崇Щ锛<<<锛>>> 锛夊氨鏄繚鐣欑鍙蜂綅涓嶅姩锛閫昏緫宸︾Щ/鍙崇Щ...
  • 姹囩紪鍒濆,姹囩紪涓父瑙佺殑浣嶈繍绠(濡閫昏緫宸︾Щ,绠楁湳宸︾Щ)绛,璋佽兘缁欎粙缁嶄笅...
    绛旓細浣犺鐨勮繖浜涢殢渚挎壘涓鏈湁鍏冲姹囩紪鐨勪功涓婇潰閮芥湁锛岋紝锛岃繖閲屽ぇ璇翠笅锛岋紝锛岄昏緫宸︾Щ鍜绠楁湳宸︾Щ涓鏍风殑锛岋紝鎰忔濆氨鏄紝锛岋紝灏嗘煇鎿嶄綔鏁帮紝宸︾Щ澶氬皯浣嶏紝锛岀Щ鍑虹殑浣嶇敤0濉厖锛岋紝渚嬶紱SHL AL,1 锛涙剰鎬濆氨鏄皢AL瀵勫瓨鍣ㄩ昏緫宸︾Щ涓浣嶄簡锛岋紝绌哄嚭浣嶇敤0濉厖浜嗭紝浣嗭紝锛岄昏緫鍙崇Щ灏卞拰绠楁湳鍙崇Щ鐨勪笉鍚屼簡锛岋紝閫昏緫鍙崇Щ...
  • 宸︾Щ鍜鍙崇Щ
    绛旓細鏈夌鍙锋暟鐨勫彸绉伙細绠楁湳涓閫昏緫瀵逛簬鏈夌鍙锋暟锛屽彸绉诲苟闈炵畝鍗曠殑浣嶇Щ锛岃屾槸鍒嗕负绠楁湳鍙崇Щ鍜岄昏緫鍙崇Щ涓ょ绫诲瀷銆傜畻鏈彸绉绘椂锛屾渶楂樹綅琚~鍏呯殑鍊煎彇鍐充簬鍘熷鏁扮殑绗﹀彿锛氭鏁板~鍏0锛岃礋鏁板~鍏1锛岃繖涓庨櫎娉曠殑璐熸暟琛屼负涓鑷淬傝岄昏緫鍙崇Щ鍒欏缁堝~鍏0锛屼笉浼氭敼鍙樻暟鐨勭鍙枫宸︾Щ鎿嶄綔鐨勭粺涓鎬ф棤璁烘棤绗﹀彿杩樻槸鏈夌鍙锋暟锛屽乏绉...
  • 8086鎸囦护绯荤粺鏅氫綅绉绘寚浠ゅ拰寰幆鎸囦护鍦ㄦ墽琛屾搷浣滄椂鏈変粈涔堝尯鍒
    绛旓細绠楁湳绉浣嶅拰閫昏緫绉浣嶇殑鍖哄埆锛閫昏緫宸︾Щ鍜绠楁湳宸︾Щ鏃犲尯鍒 缁熶竴鍔熻兘鐨勪袱绉嶅啓娉曪紙鐩稿綋浜庢棤绗﹀彿鏁颁箻2锛夊彸绉 鏈夊尯鍒 绠楁湳鍙崇Щ 鏈楂樹綅鏃犲彉鍖 锛堢浉褰撲簬 鏈夌鍙锋暟闄2锛夐昏緫鍙崇Щ鏈楂樹綅 涓嶇鏄粈涔堥兘鐢0濉厖 锛堢浉褰撲簬 鏃犵鍙锋暟闄2锛夋墍璋撳惊鐜彸绉绘槸灏嗕竴涓暟浣嶇殑鏈鍚庝竴浣嶇Щ鍒扮涓浣 瀹冪殑鍔熻兘:姣斿浣犳兂璁...
  • c璇█涓殑宸﹁皟鏁村拰鍙宠皟鏁存槸浠涔堟剰鎬?
    绛旓細灏辨槸璇,绗﹀彿浣嶅悜鍙崇Щ鍔ㄥ悗,姝f暟鐨勮瘽琛0,璐熸暟琛1,涔熷氨鏄眹缂栬瑷涓殑绠楁湳鍙崇Щ.鍚屾牱褰撶Щ鍔ㄧ殑浣嶆暟瓒呰繃绫诲瀷鐨勯暱搴︽椂,浼氬彇浣欐暟,鐒跺悗绉诲姩浣欐暟涓綅.璐熸暟10100110 >>5(鍋囪瀛楅暱涓8浣)锛屽垯寰楀埌鐨勬槸 11111101 鎬讳箣,鍦–涓,宸︾Щ鏄閫昏緫/绠楁湳宸︾Щ(涓よ呭畬鍏ㄧ浉鍚),鍙崇Щ鏄绠楁湳鍙崇Щ,浼氫繚鎸佺鍙蜂綅涓嶅彉.瀹為檯搴旂敤涓...
  • 扩展阅读:免费查自己家谱 ... 左移补0右移补1 ... 补码左移溢出规则 ... 计算机移位 ... 左移溢出会发生什么 ... 负数补码左移为什么要补0 ... c语言左移补位 ... 5右移2 ... c语言中的左移和右移 ...

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