Java中,位运算符>>,右移时左边何时补0,何时补1 Java中,位运算符,右移时左边何时补0,何时补1

Java\u4e2d\uff0c\u4f4d\u8fd0\u7b97\u7b26>>\uff0c\u53f3\u79fb\u65f6\u5de6\u8fb9\u4f55\u65f6\u88650\uff0c\u4f55

\u4e3e\u4e2a\u4f8b\u5b50\uff1a2\u5de6\u79fb\u52a83\u4f4d2\uff08\u5341\u8fdb\u5236\uff09=00000010\uff08\u4e8c\u8fdb\u5236\uff09\u4e8c\u8fdb\u523600000010\u5411\u5de6\u79fb\u52a8\u4e09\u4f4d\u53d8\u6210\u4e8600010\uff0c\u8d85\u51fa\u4e868\u4f4d\uff0c\u76f8\u5f53\u4e8e\u5220\u9664\u524d\u4e09\u4e2a\u5b57\u7b26\u4f4d\uff0c\u5220\u9664\u4e4b\u540e\u53c8\u7531\u4e8e\u4e0d\u6ee1\u8db38\u4f4d\uff0c\u540e\u9762\u586b0\uff0c\u53d8\u62100001000000010000\uff08\u4e8c\u8fdb\u5236\uff09=16\uff08\u5341\u8fdb\u5236\uff09

\u6ca1\u6709\u8fd9\u79cd\u8bf4\u6cd5, \u8ba1\u7b97\u7684\u65f6\u5019\u5c31\u4f1a\u8865, java\u4e2d\u4f4d\u8fd0\u884c\u53ea\u9488\u5bf9\u6574\u6570\u7c7b\u578b, \u6574\u6570\u7c7b\u578b\u662f\u57fa\u7840\u6570\u636e\u7c7b\u578b, \u4e0d\u662f\u5f15\u7528\u7c7b\u578b, \u8ba1\u7b97\u7684\u7ed3\u679c\u5176\u5b9e\u662f\u65b0\u7684\u5185\u5b58

在Thinking in Java第三章中的一段话:

移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。
若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。这样可防止我们在一个int数里移动不切实际的位数。若对一个long值进行处理,最后得到的结果也是long。此时只会用到右侧的6个低位,防止移动超过long值里现成的位数。但在进行“无符号”右移位时,也可能遇到一个问题。若对byte或short值进行右移位运算,得到的可能不是正确的结果(Java 1.0和Java 1.1特别突出)。它们会自动转换成int类型,并进行右移位。但“零扩展”不会发生,所以在那些情况下会得到-1的结果。

右移动运算符:
把操作数向右移动,移动的位个数同样由右操作数指定。注意:面对带正负号的数,会采用符号扩展,如果原值是正数,则高位补上0;如果原值是负数,高位补1。

  • JAVA浣嶈繍绠楃
    绛旓細1锛庝笌杩愮畻绗 涓庤繍绠楃鐢ㄧ鍙封&鈥濊〃绀猴紝鍏朵娇鐢ㄨ寰嬪涓嬶細涓や釜鎿嶄綔鏁涓綅閮戒负1锛岀粨鏋滄墠涓1锛屽惁鍒欑粨鏋滀负0锛屼緥濡備笅闈㈢殑绋嬪簭娈点俻ublic class data13 { public static void main(String[] args){ int a=129;int b=128;System.out.println("a 鍜宐 涓庣殑缁撴灉鏄細"+(a&b));} } 杩愯缁撴灉 a ...
  • JAVA浣嶈繍绠楃
    绛旓細浣嶆搷浣绗鍏佽鎴戜滑鎿嶄綔涓涓熀鏈暟鎹被鍨嬩腑鐨勬暣鏁板瀷鍊肩殑鍗曚釜鈥滄瘮鐗(bit)鈥,鍗充簩杩涘埗浣嶃備綅鎿嶄綔绗︿細瀵逛袱涓弬鏁板搴旂殑浣嶆墽琛屽竷灏斾唬鏁杩愮畻,骞舵渶缁堢敓鎴愪竴涓粨鏋溿 浣嶆搷浣滅鏉ユ簮浜 C 璇█闈㈠悜搴曞眰鐨勬搷浣,閭f椂鎴戜滑缁忓父闇瑕佺洿鎺ユ搷绾电‖浠,璁剧疆纭欢瀵勫瓨鍣ㄥ唴鐨勪簩杩涘埗浣嶃Java鐨璁捐鍒濊》鏄祵鍏ョ數瑙嗘満椤剁洅鍐,鎵浠ヨ繖绉嶄綆绾ф搷浣滀粛琚...
  • JAVA浣嶈繍绠鎬庝箞鐢ㄧ殑???
    绛旓細Java 浣嶈繍绠 Java 浣嶈繍绠梉杞琞涓锛孞ava 浣嶈繍绠1.琛ㄧず鏂规硶锛氥鍦↗ava璇█涓紝浜岃繘鍒舵暟浣跨敤琛ョ爜琛ㄧず锛屾渶楂樹綅涓虹鍙蜂綅锛屾鏁扮殑绗﹀彿浣嶄负0锛岃礋鏁颁负1銆傝ˉ鐮佺殑琛ㄧず闇瑕佹弧瓒冲涓嬭姹傘傘(l)姝f暟鐨勬渶楂樹綅涓0锛屽叾浣欏悇浣嶄唬琛ㄦ暟鍊兼湰韬(浜岃繘鍒舵暟)銆傘(2)瀵逛簬璐熸暟锛岄氳繃瀵硅鏁扮粷瀵瑰肩殑琛ョ爜鎸変綅鍙栧弽锛屽啀瀵...
  • 姹:JAVA涓甯哥敤浣嶈繍绠楃鍙婂叾鐢ㄦ硶璇﹁В
    绛旓細int z = x&y //z绛変簬浜岃繘鍒舵暟鐨01000000 鍗杩愮畻缁撴灉涓簔绛変簬浜岃繘鍒舵暟01000000銆備綅鎴栥佷綅闈炪佷綅寮傛垨鐨勮繍绠楁柟娉曠被鍚屻傦紙2锛夊彸绉绘槸灏嗕竴涓簩杩涘埗鏁版寜鎸囧畾绉诲姩鐨勪綅鏁板悜鍙崇Щ浣嶏紝绉绘帀鐨勮涓㈠純锛屽乏杈圭Щ杩涚殑閮ㄥ垎鎴栬呰ˉ0锛堝綋璇ユ暟涓烘鏃讹級锛屾垨鑰呰ˉ1锛堝綋璇ユ暟涓鸿礋鏃讹級銆傝繖鏄洜涓烘暣鏁板湪鏈哄櫒鍐呴儴閲囩敤琛ョ爜...
  • Java涓&鏄粈涔堟剰鎬?
    绛旓細&鍦java涓琛ㄧず浣嶈繍绠楃鍗筹紝鎸変綅涓庤繍绠椼傜敤鏉ュ浜岃繘鍒朵綅杩涜鎿嶄綔锛屼负浜屽厓杩愮畻绗︼紝鏅鸿兘涓烘暣鍨嬪拰瀛楃鍨嬫暟鎹傚鏋滀袱涓繍绠楁暟閮芥槸1锛屽垯缁撴灉涓1.鍏朵粬鎯呭喌涓嬶紝缁撴灉鍧囦负闆讹細00101010(鍗佽繘鍒跺间负42)&00001111(鍗佽繘鍒跺间负15)=00001010(鍗佽繘鍒跺10)鑰屽湪java璇█涓 i1&=3鐨勮〃杈惧紡鐨勫睍寮褰㈠紡涓猴細i1=i1&3,...
  • Java涓鐨杩愮畻绗鏈夊摢浜
    绛旓細鍏崇郴杩愮畻绗︼細鐢ㄤ簬鍒ゆ柇涓や釜鏁版嵁鐨勫ぇ灏忔垨鐩哥瓑鍏崇郴锛岃繑鍥炰竴涓竷灏斿(true鎴杅alse)銆傚父鐢ㄧ殑鍏崇郴杩愮畻绗︽湁 < > <= >= == !=銆傞昏緫杩愮畻绗︼細鐢ㄤ簬杩涜閫昏緫涓庛侀昏緫鎴栥侀昏緫闈炵瓑鎿嶄綔锛岃繑鍥炰竴涓竷灏斿(true鎴杅alse)銆傚父鐢ㄧ殑閫昏緫杩愮畻绗︽湁 && || !銆浣嶈繍绠楃锛氱敤浜庡浜岃繘鍒朵綅杩涜鎿嶄綔锛屽鎸変綅涓庛佹寜浣嶆垨...
  • JAVA閲岄潰鐨浣嶈繍绠楃>>,<<,>>>鏄粈涔堟剰鎬,璇蜂妇涓垪瀛愬叿浣撹鏄庝竴涓?_鐧 ...
    绛旓細java 涓锛>>甯︾鍙峰彸绉 (n>>2 灏嗘暣鍨嬪煎甫绗﹀彿鍙崇Щ2浣 锛<<甯︾鍙峰乏绉 (n<<2 灏嗘暣鍨嬪煎甫绗﹀彿宸︾Щ2浣 锛>>>鏃犵鍙峰彸绉 (n>>>2 灏嗘暣鍨嬪兼棤绗﹀彿鍙崇Щ2浣 锛 鍦32浣嶇郴缁熶腑浠讳綍鏁板乏绉(鍙崇Щ)32浣嶈繕鏄畠鏈韩 渚嬪:�6�1a=a锛滐紲2灏哸...
  • java杩愮畻涓&鏄粈涔堟剰鎬,姣斿a=1;b=2;a&b=澶氬皯
    绛旓細鎸変綅涓庤繍绠楁湁涓ょ鍏稿瀷鐢ㄦ硶锛屼竴鏄彇涓涓綅涓蹭俊鎭殑鏌愬嚑浣嶏紝濡備互涓嬩唬鐮佹埅鍙杧鐨勬渶浣7浣嶏細x & 0177銆備簩鏄鏌愬彉閲忎繚鐣欐煇鍑犱綅锛屽叾浣欎綅缃0锛屽浠ヤ笅浠g爜璁﹛鍙繚鐣欐渶浣6浣嶏細x = x & 077銆Java 鐨琛ㄨ揪寮忓氨鏄敤杩愮畻绗﹁繛鎺ヨ捣鏉ョ殑绗﹀悎Java 瑙勫垯鐨勫紡瀛锛岃繍绠楃鐨勪紭鍏堢骇鍐冲畾浜嗚〃杈惧紡涓杩愮畻鎵ц鐨勫厛鍚庨『搴忋
  • java涓 浠涔堟槸 鍒嗛噺杩愮畻绗• ?
    绛旓細&鏄JAVA涓鐨勪綅閫昏緫杩愮畻绗锛岀О鈥滄寜浣嶄笌鈥濓紝杩愮畻瑙勫垯鏄細鈥&鈥濅袱涓繍绠楁暟閮戒负1鏃讹紝缁撴灉涓1锛屽叾浣欑粨鏋滀负0锛屽嵆锛氬嵆锛0&0=0锛0&1=0锛1&0=0锛1&1=1鐢ㄩ旓細(1)娓呴浂杩愮畻瀵硅薄锛氬師鏉ョ殑鏁颁腑涓1鐨勪綅锛屾柊鏁颁腑鐩稿簲浣嶄负0銆傦紙2锛夊彇涓涓暟涓煇浜涙寚瀹氫綅銆傚鎯宠鍙栦竴涓暣鏁癮锛堝崰2涓瓧鑺傦級鐨勪綆锛堥珮...
  • JAVA浣嶈繍绠楃
    绛旓細涓銆浣嶈繍绠楃C璇█鎻愪緵浜嗗叚绉嶄綅杩愮畻绗︼細& 鎸変綅涓 | 鎸変綅鎴 ^ 鎸変綅寮傛垨 ~ 鍙栧弽 << 宸︾Щ >> 鍙崇Щ 1. 鎸変綅涓庤繍绠 鎸変綅涓庤繍绠楃"&"鏄弻鐩繍绠楃銆傚叾鍔熻兘鏄弬涓庤繍绠楃殑涓ゆ暟鍚勫搴旂殑浜岃繘浣嶇浉涓庛傚彧鏈夊搴旂殑涓や釜浜岃繘浣嶅潎涓1鏃讹紝缁撴灉浣嶆墠涓1 锛屽惁鍒欎负0銆傚弬涓庤繍绠楃殑鏁颁互琛ョ爜鏂瑰紡鍑虹幇銆備緥濡傦細9...
  • 扩展阅读:java中符号大全 ... java中π怎么输入 ... java运算符大全 ... java三元运算符例子 ... 位运算符有哪些 ... 逻辑运算符有哪三种 ... python ... java中正确的标识符 ... 如下哪个是java中的标识符 ...

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