算数左移和算数右移有什么不同?

1、作用不同

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

2、表示的移位后数的范围是不一样

有符号数左移(算术左移)位后的范围是-128——127【指8位】,而无符号数(算术左移)左移的范围是0——255,【指8位】其实不管是哪种移位(上述的),均要考虑移位后的范围。

相同处:

算术左移-逻辑左移:都是右边补0。比如00101011,算术左移一位:01010110,逻辑左移一位:01010110。

对于二进制的数值来说左移n位等于原来的数值乘以2的n次方比如00011010十进制是26,左移两位后是01101000转成十进制是104恰好是26的4倍。ps:这种倍数关系只适用于左移后被舍弃的高位不含1的情况,否则会溢出。



  • 绠楁湳绉浣嶆槸鍚︿細绉诲姩绗﹀彿浣?
    绛旓細宸︾Щ鎿嶄綔锛氭暟鍊奸儴鍒嗗乏绉伙細闄や簡绗﹀彿浣嶅鐨勬暟鍊奸儴鍒嗗悜宸︾Щ鍔銆傜┖浣嶅~琛ワ細楂樹綅锛堝師绗﹀彿浣嶅彸杈圭殑浣嶏級绉诲嚭鍚庯紝鏈浣庝綅锛堟渶鍙宠竟鐨勪綅锛夎ˉ0銆傛孩鍑洪棶棰橈細濡傛灉绉诲嚭鐨勯珮浣嶄笌绗﹀彿浣涓嶅悓锛堝嵆鍘熸暟鍊间负璐熸暟涓斿乏绉诲悗绗﹀彿浣嶅彉涓0锛屾垨鍘熸暟鍊间负姝f暟涓斿乏绉诲悗鍙戠敓杩涗綅瀵艰嚧绗﹀彿浣嶅彉涓1锛夛紝鍒欎細鍙戠敓婧㈠嚭銆鍙崇Щ鎿嶄綔锛氭暟鍊...
  • ...鎿嶄綔鏁版瘡鍙崇Щ涓浣,鍏剁粨鏋滅浉褰撲簬浠涔?鑻宸︾Щ1浣,鍏剁粨鏋滅浉褰撲簬浠涔...
    绛旓細鍙崇Щ瀵圭鍙蜂綅鐨勫鐞嗗拰宸︾Щ涓嶅悓锛屽浜庢湁绗﹀彿鏁存暟鏉ヨ锛屾瘮濡俰nt绫诲瀷锛屽彸绉讳細淇濇寔绗﹀彿浣嶄笉鍙橈紝渚嬪锛歩nti=0x80000000锛沬=i>>1锛//i鐨勫间笉浼氬彉鎴0x40000000锛岃屼細鍙樻垚0xc0000000 2銆佸乏绉伙紝涔樹互2宸︾Щn浣嶄箻浠2鐨刵娆℃柟锛涘厛璇村乏绉伙紝宸︾Щ灏辨槸鎶婁竴涓暟鐨勬墍鏈変綅閮藉悜宸︾Щ鍔鑻ュ共浣嶏紝鍦–涓敤<<杩愮畻绗︺
  • 鍦╟++浣嶈繍绠楅噷浠涔鏄宸︾Щ浣鍜屽彸绉浣
    绛旓細2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣嶏紝绉诲嚭浣嶈涓㈠純锛屽彸杈圭殑绌轰綅涓寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜鍙崇Щ鍔紝绉诲嚭浣嶈涓㈠純锛屽乏杈圭Щ鍑虹殑绌轰綅鎴栬呬竴寰嬭ˉ0锛屾垨鑰呰ˉ绗﹀彿浣嶏紝杩欑敱涓嶅悓鐨勬満鍣ㄨ屽畾銆傚湪浣跨敤琛ョ爜浣滀负鏈哄櫒鏁扮殑鏈哄櫒涓紝姝f暟鐨勭鍙蜂綅涓0锛...
  • 鏄笉鏄棤绗﹀彿鏁扮殑绉讳綅閮芥槸閫昏緫绉讳綅,鏈夌鍙锋暟鐨勭Щ浣嶉兘鏄绠楁湳绉浣?
    绛旓細瀵逛簬鏃犵鍙风被鍨嬬殑鏁版嵁锛屾墍鏈夌Щ浣嶆搷浣滈兘鏄昏緫绉讳綅锛涘浜庢湁绗﹀彿绫诲瀷鐨勬暟鎹紝渚濇嵁缂栬瘧鍣涓嶅悓鑰岄夋嫨鍒板簳閲囩敤閫昏緫绉讳綅杩樻槸绠楁湳绉浣嶃傛棤璁烘槸宸︾Щ杩樻槸鍙崇Щ锛岀┖缂洪儴鍒嗛兘鏄洿鎺ヨˉ0銆傜Щ鍑虹殑浣嶆暟瑕佷箞鍒颁簡鏇撮珮浣嶏紝瑕佷箞鐩存帴涓㈠純銆傚彇鍐充簬浣犵殑鏁版嵁绫诲瀷銆宸︾Щ涓閫昏緫绉讳綅瀹屽叏鐩稿悓锛屽彸绉荤殑鏃跺欏乏杈圭殑绌虹己浣嶈ˉ0杩樻槸琛1锛屾牴鎹...
  • 宸︾Щ涓浣鍜屽彸绉涓浣涓鍘熷肩殑鍏崇郴
    绛旓細绠楁湳宸︾Щ-閫昏緫宸︾Щ锛绠楁湳宸︾Щ鍜閫昏緫宸︾Щ涓鏍烽兘鏄彸杈硅ˉ0銆绠楁湳鍙崇Щ锛岄昏緫鍙崇Щ锛岄昏緫鍙崇Щ寰堢畝鍗曪紝鍙灏嗕簩杩涘埗鏁版暣浣撳彸绉伙紝宸﹁竟琛0鍗冲彲銆備篃灏辨槸閫氬父鎵璇寸殑鎵╁ぇ10鍊嶄笌缂╁皬10鍊嶃
  • ...鑳戒妇涓緥瀛愯В閲婁笅閭e悧銆傚氨鏄宸︾Щ鍔楂樹綅浣庝綅銆鍙崇Щ鏃犵鍙枫傝礋鏁存暟_鐧...
    绛旓細鏁板瓧1灏辨槸0xffffffff锛堝嵆-1鐨勮ˉ鐮侊紝鏈楂樹綅鏄1锛夈傚浜0xffffffff 宸茬粡鍗犳弧鐨32涓綅锛宸︾Щ鏃讹紝楂樹綅鍏ㄩ儴鑸嶅幓涓嶈锛屼綆浣嶈ˉ0.姣斿宸︾Щ4浣嶅氨鍙樻垚 0xfffffff0銆備絾鏄鍙崇Щ灏涓嶄竴鏍浜嗭紝鍙崇Щ鏃讹紝浣庝綅鑸嶅幓锛岄珮浣嶈ˉ1锛岋紙鍘熸潵鐨勬渶楂樹綅灏辨槸1锛夛紝鎵浠ュ彸绉诲洓浣嶈繕鏄 0xffffffff 锛岃屼笉鏄 0x0fffffff銆
  • Verilog涓绠楁湳宸︾Щ鍙崇Щ涓閫昏緫宸︾Щ鍙崇Щ鏈変粈涔堝尯鍒?
    绛旓細绠楁湳宸︾Щ鍙崇Щ浠h〃淇濈暀绗﹀彿浣嶄笉鍔ㄣ傞昏緫宸︾Щ鍙崇Щ浠h〃涓嶇绗﹀彿浣嶏紝鏁翠綋鍋氱Щ鍔ㄣ備簩鑰呯殑鍚箟瀹屽叏涓嶅悓銆備緥濡傦細// The following operators will shift a bus right or left a number of bits./// ...Right shift and maintain sign bit Verilog:Verilog HDL鏄竴绉嶇‖浠舵弿杩拌瑷(HDL:Hardware Description ...
  • 瀵8浣嶈ˉ鐮佹搷浣滄暟10101010鍒嗗埆绠楁暟宸︾Щ鍙崇Щ涓浣嶆槸 瀵8浣嶆搷浣滄暟10101010鍒 ...
    绛旓細绠楁湳宸︾Щ涓閫昏緫宸︾Щ鐨勬搷浣滃畬鍏ㄧ浉鍚屻備絾绠楁湳鍙崇Щ涓庨昏緫鍙崇Щ鐨勬搷浣涓嶄竴鏍銆傞昏緫鍙崇Щ鐨勭洰鏍囨搷浣滄暟鐨勫乏绔Щ鍏0锛岃岀畻鏈彸绉诲垯淇濇寔鐩爣鎿嶄綔鏁扮殑绗﹀彿浣嶏紙鍗虫渶楂樻湁鏁堜綅锛変笉鍙
  • C璇█涓殑宸︾Щ鍜屽彸绉?
    绛旓細0111鍙崇Щ涓浣嶆槸鎶婃渶鍚庝竴浣嶇殑1鍘绘帀锛屽乏杈硅ˉ涓0锛屽緱0011锛岃浆鎹负鍗佽繘鍒舵槸3锛岃繖鏄纭殑銆傚苟涓嶇瓑鍚屼簬闄や互2
  • 濮嬬粓杩樻槸涓嶆噦姹囩紪涓殑绠楁湳宸︾Щ 鍙崇Щ 杩樻湁cf 楂樹綅 浣庝綅浠涔鎰忔 鎬庝箞...
    绛旓細渚嬪 锛 1001010 宸︾Щ锛 0010100 鏈楂樹綅鐨1琚Щ鎺変簡锛屽悗闈㈣ˉ涓0 鍙崇Щ锛 0100101 浣庝綅鐨0琚Щ鎺変簡锛岄珮浣嶈ˉ浜嗕釜0 瀵逛簬CF鏍囧織浣嶏紝鍒氬垰涓婇潰鐨勪緥瀛愪腑锛屽乏绉诲氨浼氬皢CF缃1锛屽洜涓烘渶楂樹綅鏄1锛屽乏绉讳骇鐢熶簡杩涗綅 鍙﹀锛屽姞娉曠殑杩涗綅锛屽噺娉曠殑鍊熶綅涔熶細褰卞搷CF鐨勫 ...
  • 扩展阅读:算术左移的正确方法 ... c语言左移位和右移位 ... 左移位怎么算 ... 逻辑左移和算术左移 ... 位运算左移右移溢出 ... 有符号数左移怎么移 ... 补码算数左移一位 ... c语言中左移位的用法 ... 负数补码左移为什么要补0 ...

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