为什么二进制数左移或右移N位等于扩大或缩小2的N次方倍?? 二进制数的小数点向右移n位,则其值扩大多少倍

\u5728java\u4e2d\uff0c \u4e00\u4e2a\u6570\u5de6\u79fbn\u4f4d\uff0c\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u4e58\u4ee52\u7684n\u6b21\u65b9\uff0c\u53f3\u79fb\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u9664\u4ee52\u7684n\u6b21\u65b9\u600e\u4e48\u7406\u89e3\uff1f

\u4e00\u4e2a\u6570\u5de6\u79fbn\u4f4d\uff0c\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u4e58\u4ee52\u7684n\u6b21\u65b9\uff0c\u53f3\u79fb\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u9664\u4ee52\u7684n\u6b21\u65b9\u600e\u4e48\u7406\u89e3\uff1f
=============
\u8fd9\u4e48\u7406\u89e3
\u4e00\u4e2a10\u8fdb\u5236\u6570\u5de6\u79fbn\u4f4d\uff0c\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u4e58\u4ee510\u7684n\u6b21\u65b9\uff0c\u53f3\u79fb\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u9664\u4ee510\u7684n\u6b21\u65b9
\u6bd4\u59821\uff0c\u5de6\u79fb2\u4f4d\uff0c\u5f97100(\u5341\u8fdb\u5236)\uff0c
\u4e00\u4e2a 2\u8fdb\u5236\u6570\u5de6\u79fbn\u4f4d\uff0c\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u4e58\u4ee5 2\u7684n\u6b21\u65b9\uff0c\u53f3\u79fb\u5c31\u662f\u5c06\u8fd9\u4e2a\u6570\u9664\u4ee5 2\u7684n\u6b21\u65b9
\u6bd4\u59821\uff0c\u5de6\u79fb2\u4f4d\uff0c\u5f97100(\u4e8c\u8fdb\u5236)\uff0c\u6362\u5341\u8fdb\u5236\u7b49\u4e8e4
\u4f4d\u8fd0\u7b97\u662f\u4ee52\u8fdb\u5236\u64cd\u4f5c\u3002

2\u7684n\u6b21\u65b9\u500d\uff0c\u4ee5\u53f3\u79fb\u4e09\u4f4d\u4e3a\u4f8b\uff1a
1001.100 \u5bf9\u5e94\u7684\u5341\u8fdb\u5236\u4e3a9.5
\u5c0f\u6570\u70b9\u53f3\u79fb\u4e09\u4f4d\u4e3a1001100\uff0c\u5bf9\u5e94\u7684\u5341\u8fdb\u5236\u4e3a76
76\u662f9.5\u76848\u500d
\u6240\u4ee5\u4e8c\u8fdb\u5236\u6bcf\u53f3\u8fb9\u79fb\u5c0f\u6570\u70b9\u4e00\u4f4d\u6269\u59272\u500d\uff0c\u53f3\u79fb\u4e09\u4f4d\u6269\u59272^3=8\u500d\u3002

\u6269\u5c55\u8d44\u6599\uff1a
\u4e8c\u8fdb\u5236\u7684\u9022\u4e8c\u8fdb\u4e00
\u9022\u4e8c\u8fdb\u4e00\uff0c\u5c31\u6bd4\u5982\uff1a0+1=1\u8fd9\u4e0e\u5341\u8fdb\u5236\u76f8\u540c\uff0c\u4f461+1=10,\u8fd9\u5c31\u4e0d\u540c\u4e86\uff0c\u4f46\u8981\u8bf4\u6709\u9053\u7406\uff0c\u90fd\u662f\u8fd0\u7b97\u89c4\u5219\uff0c\u662f\u4eba\u5b9a\u7684\uff0c\u5b83\u4eec\u7684\u5916\u89c2\u4e0d\u4e00\uff0c\u4f46\u8868\u503c\u662f\u4e00\u6837\u7684\uff0c\u6240\u4ee5\u4e8c\u8fdb\u5236\u768410\uff0c\u5c31\u7b49\u4e8e\u5341\u8fdb\u5236\u76842\uff0c\u56e0\u4e3a\u4e8c\u8fdb\u5236\u91cc\u53ea\u67090\u548c1\u4e24\u4e2a\u6570\u5b57\uff0c\u8981\u8868\u793a\u591a\u4e861\u76842\uff0c\u5c31\u53ea\u80fd\u8fdb\u4e00\u4f4d\u4e86\u3002
\u7b80\u5355\u8bf4\uff1a1=1\uff1b2=10\uff1b3=11\uff1b4=100\uff1b5=101\uff1b6=110\uff1b7=111\uff1b8=1000\uff1b9=1001\uff1b10=1010\uff1b11=1011\uff1b12=1100\uff1b13=1101\u7b49\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u4e8c\u8fdb\u5236

2进制的基数为2
所以
扩大10倍,相当于×2
缩小10倍,相当于÷2

即左移或右移N位等于扩大或缩小2的N次方倍

当是无符号数且首位为零时,循环左移指令时实现扩大二倍同理,依次可类推

  • 浜岃繘鍒跺乏绉诲彸绉鐨勮鍒欏拰鎰忎箟
    绛旓細宸︾Щ锛氫箻浜2鐨刵娆℃柟锛鍙崇Щ涓庝箣鐩稿弽锛岄櫎浜2鐨刵娆℃柟銆
  • C#绉讳綅杩愮畻闂
    绛旓細1銆乧 >> 16 = 0x1AF034 >> 16 = 0x00001A 0x00001A & 0x00FFFF = 0x00001A = 26 2銆乧 & 0x0000FF = 0x1AF034 & 0x0000FF = 0x000034 = 52 浣嶇Щ杩愮畻灏辨槸灏鏁板瓧鐨浜岃繘鍒褰㈠紡鎸夋寚瀹氱殑浣嶆暟宸︾Щ鎴栧彸绉锛屽洜涓哄崄鍏繘鍒剁殑姣忎綅鏁板彲浠ュ寲鎴愪竴涓洓浣嶆暟鐨勪簩杩涘埗鐨勬暟瀛(2鐨勫洓娆℃柟涓16锛夛紝...
  • 浜岃繘鍒鎸変綅鍙栧弽鎬庝箞绠
    绛旓細2銆浜岃繘鍒舵暟鐨勫叾浠栨搷浣 闄や簡鎸変綅鍙栧弽杩愮畻澶栵紝杩樻湁鍏朵粬涓浜涘熀鏈殑浜岃繘鍒惰繍绠楋紝渚嬪鎸変綅涓庤繍绠椼佹寜浣嶆垨杩愮畻銆宸︾Щ杩愮畻鍜鍙崇Щ杩愮畻绛夈傝繖浜涜繍绠楅兘鍙互鍦ㄨ绠楁満绋嬪簭涓娇鐢ㄧ浉搴旂殑鎸囦护鏉ュ疄鐜般3銆佽绠楁満涓殑閫昏緫鐢佃矾 鍦ㄨ绠楁満涓紝閫昏緫鐢佃矾鏄疄鐜板悇绉嶉昏緫杩愮畻鐨勫熀纭鍗曞厓銆傚叾涓紝鎸変綅鍙栧弽杩愮畻鍙互閫氳繃涓涓畝鍗曠殑...
  • 80宸︾Щ涓浣嶆槸澶氬皯鍛?
    绛旓細鍩烘湰浠嬬粛 绉讳綅鎿嶄綔鐨勪綅鏄寜浜岃繘鍒鐨勪綅銆傚崄鍏杩涘埗鏁涔熻鍖栨垚浜岃繘鍒讹紝鎸変簩杩涘埗鐨勪綅鑰冭檻銆備緥濡傦紝宸︾Щ1浣嶏紝鎸囨寜2杩涘埗鐨勪綅宸︾Щ1浣嶃傚乏绉籲浣嶏紝鎸囨寜2杩涘埗鐨勪綅宸︾Щn浣嶃傚彸绉1浣嶏紝鎸囨寜2杩涘埗鐨勪綅鍙崇Щ1浣嶏紝浣庝簬鏈浣庝綅鐨勬暟鍒欎涪鎺夈鍙崇Щn浣锛屾寚鎸2杩涘埗鐨勪綅鍙崇Щn浣嶏紝浣庝簬鏈浣庝綅鐨勬暟鍒欎涪鎺夈傚崄鍏繘鍒...
  • c++璇█涓宸︾Щ浣璧嬪兼槸浠涔鎰忔
    绛旓細渚嬪锛歮 = 1锛沵 <<= 2锛涙剰鎬濆氨鏄妸m宸︾Щ涓や綅鍚庯紝鍐嶈祴鍊肩粰m銆傚師鏉鐨浜岃繘鍒鏁板兼槸0001锛屽乏绉讳袱浣嶅悗灏卞彉鎴愪簡浜岃繘鍒剁殑0100锛屼篃灏辨槸鍗佽繘鍒剁殑4锛屾墍浠ョ粨鏋滄槸m=4銆傛墍浠ュ彲浠ョ湅鍑哄乏绉讳竴浣嶏紝鐩稿綋浜庡師鏉ョ殑鏁板间箻浠2锛宸︾Щn浣锛屽氨鐩稿綋浜庝箻浠ヤ簡2鐨刵娆℃柟銆
  • c璇█涓 1<<20 鏄浠涔鎰忔?
    绛旓細灏辨槸鎶1鎸浜岃繘鍒鏂瑰紡鍚戝乏绉20浣嶏紝00000000 00010000 00000000 00000000锛屼篃灏辨槸鍗佽繘鍒剁殑1048576銆<<鍦–璇█涓槸绉讳綅绗﹀乏绉荤殑鎰忔濓紝鐢ㄦ潵灏嗕竴涓暟鐨勫悇浜岃繘鍒朵綅鍏ㄩ儴宸︾ЩN浣锛岄珮浣嶈垗寮冿紝浣庝綅琛0銆傚湪鏁板瓧娌℃湁婧㈠嚭鐨勫墠鎻愪笅锛屽浜庢鏁板拰璐熸暟锛屽乏绉讳竴浣嶉兘鐩稿綋浜庝箻浠2鐨1娆℃柟锛宸︾Щn浣灏辩浉褰撲簬涔樹互2鐨刵娆℃柟...
  • 瑗块棬瀛怭LC 绉讳綅鎸囦护鍙婂簲鐢
    绛旓細鍚戝乏绉诲姩 n 浣嶇浉褰撲簬灏嗚緭鍏ョ IN 鐨勫唴瀹逛箻浠 2 鐨 n 娆″箓(2 n)锛鍚戝彸绉诲姩 n 浣鍒欑浉褰撲簬灏嗚緭鍏ョ IN 鐨勫唴瀹归櫎浠 2 鐨 n 娆″箓(2n)銆備緥濡傦紝濡傛灉灏嗙瓑浠蜂簬鍗佽繘鍒跺 3 鐨浜岃繘鍒舵暟宸︾Щ 3 浣嶏紝灏嗗緱鍒扮瓑浠蜂簬鍗佽繘鍒跺 24 鐨勪簩杩涘埗鏁般傚鏋滃皢绛変环浜庡崄杩涘埗鍊 16 鐨勪簩杩涘埗鏁板彸绉 2 浣嶏紝鍒欎細...
  • C璇█濡備綍鑾峰彇宸︾Щ鍜鍙崇Щ鍚,绉诲嚭鐨勬暟鎹嚭鐨勬暟鎹?
    绛旓細浠宸︾Щ涓轰緥锛歩f ((x &1000 0000) == 0)绉诲嚭0;else 绉诲嚭1;鎿嶄綔 x<<1;
  • c璇█涓綅杩愮畻鐨勫乏浣绉诲彸浣嶇Щ閮芥槸浠涔鎰忔
    绛旓細鍋囪0010宸︾Щ灏辨槸鎶浜岃繘鍒舵暟鍚戝乏绉诲姩锛屽彸杈硅ˉ0锛0鐨勪簩杩涘埗鍏ㄦ槸0锛屽乏绉讳箣鍚庡彸杈瑰啀琛0銆0010<<2 灏辨槸1000 瀹為檯鏄仛鐨*4銆1000>>2 璁$畻 0010 瀹為檯鍋氱殑鏄/4銆浣嶇Щ浣嶈繍绠楃鏄皢鏁版嵁鐪嬫垚浜岃繘鍒舵暟锛屽鍏惰繘琛屽悜宸鎴栧悜鍙崇Щ鍔鑻ュ共浣嶇殑杩愮畻銆備綅绉讳綅杩愮畻绗﹀垎涓哄乏绉诲拰鍙崇Щ涓ょ锛屽潎涓哄弻鐩繍绠楃銆傜涓...
  • c璇█宸︾Щ闂
    绛旓細浣宸︾Щ姒傚康鏄乏杈瑰幓鎺塶涓簩杩涘埗浣锛鍙宠竟琛涓浂锛屼絾杩欐槸鎸囧師鏉ョ殑浜岃繘鍒舵暟鏄滄満鍣ㄦ暟鈥濄傚氨鏄鏋滀娇鐢╱nsigned char 鏉ュ瓨鍌ㄨ繖涓暟鐨勮瘽锛屽氨鏄繖鏍风殑銆備緥濡傦細0001 0010锛堝崄杩涘埗涓18锛夊乏绉4浣嶏紝寰楀埌鐨勫簲璇ユ槸0010 0000锛堝崄杩涘埗32锛夛紝浣嗘槸18*16鈮32銆锛堟ā256锛夊綋宸︾Щ宸﹁竟涓嶅幓闆讹紝鍙宠竟鍗曠函琛ラ浂鐨勬椂鍊...
  • 扩展阅读:二进制对照表大全 ... 二进制小数点左移n位 ... 二进制数0101 左移两位 ... 二进制口诀表 ... 二进制算法最简单教程 ... 二进制数左移右移规则 ... 二进制口诀顺口溜 ... 1-100二进制对照表 ... 0x07右移一位在左移一位 ...

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