移位运算符在移位操作中,无论左移还是右移,所移出的空位一律补0。这句话是否正确,请说明。 谢谢 c语言中位运算的左位移右位移都是什么意思

c\u8bed\u8a00\u4e2d\u53f3\u79fb\u662f\u600e\u4e48\u56de\u4e8b\uff0c\u79fb\u4f4d\u540e\u5de6\u8fb9\u88650\u5417\u8fd8\u662f\u8865\u6700\u53f3\u8fb9\u7684\u6570\uff0c\u89c4\u5219\u662f\u4ec0\u4e48\u554a\uff1f

\u8fd9\u8981\u770b\u64cd\u4f5c\u7684\u662f\u4ec0\u4e48\u6570\u5b57\uff0c\u5982\u679c\u6709\u6709\u7b26\u53f7\u7684\uff0c\u5de6\u8fb9\u4ee5\u7b26\u53f7\u4f4d\uff08\u5373\u6700\u9ad8\u4e3a\uff09\u8865\u9f50\uff0c\u5426\u5219\u4ee50\u8865\u9f50

\u5047\u8bbe0010\u5de6\u79fb\u5c31\u662f\u628a\u4e8c\u8fdb\u5236\u6570\u5411\u5de6\u79fb\u52a8\uff0c\u53f3\u8fb9\u88650\uff0c0\u7684\u4e8c\u8fdb\u5236\u5168\u662f0\uff0c\u5de6\u79fb\u4e4b\u540e\u53f3\u8fb9\u518d\u88650\u30020010>2 \u8ba1\u7b97 0010 \u5b9e\u9645\u505a\u7684\u662f/4\u3002
\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26\u662f\u5c06\u6570\u636e\u770b\u6210\u4e8c\u8fdb\u5236\u6570\uff0c\u5bf9\u5176\u8fdb\u884c\u5411\u5de6\u6216\u5411\u53f3\u79fb\u52a8\u82e5\u5e72\u4f4d\u7684\u8fd0\u7b97\u3002\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26\u5206\u4e3a\u5de6\u79fb\u548c\u53f3\u79fb\u4e24\u79cd\uff0c\u5747\u4e3a\u53cc\u76ee\u8fd0\u7b97\u7b26\u3002\u7b2c\u4e00\u8fd0\u7b97\u5bf9\u8c61\u662f\u79fb\u4f4d\u5bf9\u8c61\uff0c\u7b2c\u4e8c\u4e2a\u8fd0\u7b97\u5bf9\u8c61\u662f\u6240\u79fb\u7684\u4e8c\u8fdb\u5236\u4f4d\u6570\u3002\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26\u7684\u8fd0\u7b97\u5bf9\u8c61\u3001\u8fd0\u7b97\u89c4\u5219\u4e0e\u7ed3\u679c\u3001\u7ed3\u5408\u6027\u5982\u88682-16\u6240\u793a\u3002\u79fb\u4f4d\u65f6\uff0c\u79fb\u51fa\u7684\u4f4d\u6570\u5168\u90e8\u4e22\u5f03\uff0c\u79fb\u51fa\u7684\u7a7a\u4f4d\u8865\u5165\u7684\u6570\u4e0e\u5de6\u79fb\u8fd8\u662f\u53f3\u79fb\u82b1\u63a5\u6728\u6709\u5173\u3002\u5982\u679c\u662f\u5de6\u79fb\uff0c\u5219\u89c4\u5b9a\u8865\u5165\u7684\u6570\u5168\u90e8\u662f0\uff1b\u5982\u679c\u662f\u53f3\u79fb\uff0c\u8fd8\u4e0e\u88ab\u79fb\u4f4d\u7684\u6570\u636e\u662f\u5426\u5e26\u7b26\u53f7\u6709\u5173\u3002\u82e5\u662f\u4e0d\u5e26\u7b26\u53f7\u6570\uff0c\u5219\u8865\u5165\u7684\u6570\u5168\u90e8\u4e3a0\uff1b\u82e5\u662f\u5e26\u7b26\u53f7\u6570\uff0c\u5219\u8865\u5165\u7684\u6570\u5168\u90e8\u7b49\u4e8e\u539f\u6570\u7684\u6700\u5de6\u7aef\u4f4d\u4e0a\u7684\u539f\u6570(\u5373\u539f\u7b26\u53f7\u4f4d)\u3002\u5177\u4f53\u79fb\u4f4d\u89c4\u5219\u5982\u4e0b\u6240\u793a\u3002\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26\u7684\u4f18\u5148\u7ea7\u5982\u4e0b\uff1a\u00b7\u7b97\u672f\u8fd0\u7b97\u7b26\u3000\u4f18\u5148\u4e8e\u3000\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26 \u4f18\u5148\u4e8e \u5173\u7cfb\u8fd0\u7b97\u7b26\u00b7\u4f4d\u79fb\u4f4d\u8fd0\u7b97\u7b26\u662f\u540c\u7ea7\u522b\u7684\uff0c\u7ed3\u5408\u6027\u662f\u81ea\u5de6\u5411\u53f3\u4f8b\u5982\uff0c\u8bbe\u65e0\u7b26\u53f7\u77ed\u6574\u578b\u53d8\u91cfa\u4e3a0111(\u5bf9\u5e94\u4e8c\u8fdb\u5236\u6570\u4e3a0000000001001001),\u5219\uff1aa>4 \u7ed3\u679c\u4e3a04\u3000(\u5bf9\u5e94\u4e8c\u8fdb\u5236\u6570\u4e3a0000000000000100)\uff0ca\u4e0d\u53d8\u53c8\u5982\uff0c\u8bbe\u77ed\u6574\u578b\u53d8\u91cfa\u4e3a-4(\u5bf9\u5e94\u4e8c\u8fdb\u5236\u6570\u4e3a1111111111111100),\u5219\uff1aa>4 \u7ed3\u679c\u4e3a-1(\u5bf9\u5e94\u4e8c\u8fdb\u5236\u6570\u4e3a1111111111111111)\uff0ca\u4e0d\u53d8

移位操作在程序设计中,位操作运算符的一种。
1.在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。
2.左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。3.右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。
在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

  1. 移位操作在程序设计中,位操作运算符的一种;

  2. 在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值;

  3. 左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。3.右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定;

  4. 在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。



这就是C语言教科书误人的地方.大部分可能是对的,主要看主芯片性能,芯片设计的好就没问提,芯片性能差,指不定补的是啥.
亲验:联发科MT6261,移位后空位补啥就不确定,有时候可能补的0,有时候可能还是原来移走的那个数比如0x0021左移八位变成0x2121,有时候可能是别的,同样的两个芯片可能效果都不一样,反正不确定.最稳妥的办法移位操作后再&0xffffff00,把移出的位置清零.
当然如果考试的话还是按教科书来,没办法.就像小时候大人教你很多道理,觉得很有道理,信了几十年,结果进入社会发现现实不是这样的,你只有叹息,无耐,然后再教育你的小孩的时候继续告诉他们你的父母老师曾经告诉你的"假道理".

这句话是对的。

  • C璇█涓 绉讳綅 鍜 鎸変綅 鍜 +-*/ 鐨勪紭鍏堥『搴忔槸鎬庝箞鏍风殑
    绛旓細杩欐槸涓绫荤壒娈婄殑杩愮畻瀛,鑷杩愮畻瀛++鍜岃嚜鍑忚繍绠楀瓙--瀵瑰彉鏁扮殑鎿嶄綔缁撴灉鏄鍔1鍜屽噺灏1銆備緥濡: --Couter; Couter--; ++Amount; Amount++; 鐪嬭繖浜涗緥瀛愰噷,杩愮畻瀛愬湪鍓嶉潰杩樻槸鍦ㄥ悗闈㈠鏈韩鐨勫奖鍝嶉兘鏄竴鏍风殑,閮芥槸鍔1鎴栬呭噺1,浣嗘槸褰撴妸浠栦滑浣滀负鍏朵粬琛ㄧず寮忕殑涓閮ㄥ垎,涓よ呭氨鏈夊尯鍒簡銆傝繍绠楀瓙鏀惧湪鍙樻暟鍓嶉潰,閭d箞鍦ㄨ繍绠椾箣鍓,...
  • C璇█涓綅绉讳綅杩愮畻绗?
    绛旓細浣绉讳綅杩愮畻绗︼紝椤惧悕鎬濊锛岀敤鏉ョЩ浣嶇敤銆傚锛歛=0x01;a <<=2;鍒欙紝a鍙樻垚0x04浜嗐備笂闈㈡槸宸︾Щ锛屽鏋滃彸绉绘槸a >>= 2;
  • C璇█涓>>鍜<<濡備綍浣跨敤?
    绛旓細C璇█涓<< 浠h〃宸︾Щ杩愮畻绗︼紝>> 浠h〃鍙崇Щ杩愮畻绗︼紝浣绉讳綅杩愮畻绗鏄皢鏁版嵁鐪嬫垚浜岃繘鍒舵暟锛屽鍏惰繘琛屽悜宸︽垨鍚戝彸绉诲姩鑻ュ共浣嶇殑杩愮畻銆<< 浠h〃宸︾Щ杩愮畻绗︼細宸︾Щ杩愮畻绗︾敤鏉ュ皢涓涓暟鐨勫悇浜岃繘鍒朵綅鍏ㄩ儴宸︾Щ鑻ュ共浣嶏紝绉诲姩鐨勪綅鏁扮敱鍙鎿嶄綔鏁版寚瀹氾紝鍙虫搷浣滄暟蹇呴』鏄潪璐熷硷紝鍏跺彸杈圭┖鍑虹殑浣嶇敤0濉ˉ锛岄珮浣嶅乏绉绘孩鍑哄垯鑸嶅純...
  • JAVA浣杩愮畻绗
    绛旓細浣滅鍙充晶鎸囧畾鐨勪綅鏁般傗滄湁绗﹀彿鈥濆彸绉讳綅鎿嶄綔绗浣跨敤浜嗏滅鍙锋墿灞曗:鑻ョ鍙蜂负姝,鍒欏湪楂樹綅鎻掑叆0;鑻ョ鍙蜂负璐,鍒欏湪楂樹綅鎻掑叆1銆侸ava涓鍔犱簡涓绉嶁鏃犵鍙封濆彸绉讳綅鎿嶄綔绗(>>>),瀹冧娇鐢ㄤ簡鈥滈浂鎵╁睍鈥:鏃犺姝h礋,閮藉湪楂樹綅鎻掑叆0銆傝繖涓鎿嶄綔绗︽槸C鎴朇++娌℃湁鐨勩 濡傛灉瀵筩har銆乥yte鎴栬卻hort绫诲瀷鐨勬暟鍊艰繘琛岀Щ浣嶅鐞,閭d箞鍦...
  • 鍦╟++浣杩愮畻閲屼粈涔堟槸宸︾Щ浣鍜屽彸绉讳綅
    绛旓細绉讳綅鎿嶄綔鍦ㄧ▼搴忚璁′腑锛屼綅鎿嶄綔杩愮畻绗︾殑涓绉嶃1.鍦╟++涓紝绉讳綅杩愮畻绗鏈夊弻鐩Щ浣嶈繍绠楃锛<<锛堝乏绉伙級鍜岋紙鍙崇Щ锛夈傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣锛岀Щ鍑轰綅琚涪寮冿紝鍙宠竟鐨勭┖浣嶄竴寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗...
  • java涓〃杈惧紡鐨勯棶棰 ?
    绛旓細绉讳綅杩愮畻绗 绋嬪簭璁捐涓紝浣鎿嶄綔杩愮畻绗︾殑涓绉嶃傚湪c++涓紝绉讳綅杩愮畻绗鏈夊弻鐩Щ浣嶈繍绠楃锛<<锛堝乏绉伙級鍜>>锛堝彸绉伙級銆傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺傚乏绉昏繍绠楁槸灏嗕竴涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣锛岀Щ鍑轰綅琚涪寮冿紝鍙宠竟鐨勭┖浣嶄竴寰嬭ˉ0銆傚彸绉昏繍绠楁槸灏嗕竴涓簩杩涘埗浣嶇殑...
  • Java涓,浣杩愮畻绗>>,鍙崇Щ鏃跺乏杈逛綍鏃惰ˉ0,浣曟椂琛1
    绛旓細鈥滄湁绗﹀彿鈥濆彸绉讳綅杩愮畻绗浣跨敤浜嗏滅鍙锋墿灞曗濓細鑻ュ间负姝o紝鍒欏湪楂樹綅鎻掑叆0锛涜嫢鍊间负璐燂紝鍒欏湪楂樹綅鎻掑叆1銆侸ava涔熸坊鍔犱簡涓绉嶁鏃犵鍙封濆彸绉讳綅杩愮畻绗︼紙>>>锛夛紝瀹冧娇鐢ㄤ簡鈥滈浂鎵╁睍鈥濓細鏃犺姝h礋锛岄兘鍦ㄩ珮浣嶆彃鍏0銆傝繖涓杩愮畻绗︽槸C鎴朇++娌℃湁鐨勩傝嫢瀵筩har锛宐yte鎴栬卻hort杩涜绉讳綅澶勭悊锛岄偅涔鍦ㄧЩ浣杩涜涔嬪墠锛屽畠浠細...
  • C璇█涓绉讳綅杩愮畻
    绛旓細6銆佸彸绉杩愮畻绗锛>>锛夊彸绉昏繍绠楃鏄敤鏉ュ皢涓涓暟鐨勫悇浜岃繘鍒朵綅鍙崇Щ鑻ュ共浣嶏紝绉诲姩鐨勪綅鏁扮敱鍙鎿嶄綔鏁版寚瀹氾紙鍙虫搷浣滄暟蹇呴』鏄潪璐熷硷級锛岀Щ鍒板彸绔殑浣庝綅琚垗寮冿紝瀵逛簬鏃犵鍙锋暟锛岄珮浣嶈ˉ0銆傚浜庢湁绗﹀彿鏁帮紝灏嗗宸﹁竟绌哄嚭鐨勯儴鍒嗙敤绗﹀彿浣嶅~琛ワ紙鍗斥滅畻鏈绉讳綅鈥濓級锛岃屽彟涓浜涙満鍣ㄥ垯瀵瑰乏杈圭┖鍑虹殑閮ㄥ垎鐢0濉ˉ锛堝嵆鈥滈...
  • 鍦╟++浣杩愮畻閲屼粈涔堟槸宸︾Щ浣鍜屽彸绉讳綅
    绛旓細绉讳綅鎿嶄綔鍦ㄧ▼搴忚璁′腑锛屼綅鎿嶄綔杩愮畻绗︾殑涓绉嶃1.鍦╟++涓紝绉讳綅杩愮畻绗鏈夊弻鐩Щ浣嶈繍绠楃锛<<锛堝乏绉伙級鍜岋紙鍙崇Щ锛夈傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣锛岀Щ鍑轰綅琚涪寮冿紝鍙宠竟鐨勭┖浣嶄竴寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗...
  • 鍦╟++浣杩愮畻閲屼粈涔堟槸宸︾Щ浣鍜屽彸绉讳綅
    绛旓細绉讳綅鎿嶄綔鍦ㄧ▼搴忚璁′腑锛屼綅鎿嶄綔杩愮畻绗︾殑涓绉嶃1.鍦╟++涓紝绉讳綅杩愮畻绗鏈夊弻鐩Щ浣嶈繍绠楃锛<<锛堝乏绉伙級鍜岋紙鍙崇Щ锛夈傜Щ浣嶈繍绠楃缁勬垚鐨勮〃杈惧紡涔熷睘浜庣畻鏈〃杈惧紡锛屽叾鍊间负绠楁湳鍊笺2.宸︾Щ杩愮畻鏄皢涓涓簩杩涘埗浣嶇殑鎿嶄綔鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜宸︾Щ浣锛岀Щ鍑轰綅琚涪寮冿紝鍙宠竟鐨勭┖浣嶄竴寰嬭ˉ0銆3.鍙崇Щ杩愮畻鏄皢涓涓簩杩涘埗...
  • 扩展阅读:移位运算器 ... 移位运算符怎么移 ... python负数左移位运算 ... c语言中移位运算符 ... 算术移位运算 ... c语言中左移位的用法 ... 左移位运算 ... 缩位运算符&怎么算 ... 带符号右移位运算 ...

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