java中,2>>1 和2<<1中的‘<<’和‘>>’是什么运算啊? java中 2<<3=16,这个<<运算符是什么意思?

\u5728JAVA\u4e2d1%2\u7b49\u4e8e\u591a\u5c11?

\u7ed3\u679c\u662f1
Java\u7684%\u8fd0\u7b97\u7b26\u652f\u6301\u6574\u6570\u3001\u6d6e\u70b9\u6570\uff0c\u5bf9\u4e8e\u6574\u6570\uff0c\u5b83\u7684\u8ba1\u7b97\u516c\u5f0f\u7b49\u4e8e\uff1b
a % b = a \uff0d \uff08int\uff09(a / b) * b\uff1b
\u90a3\u4e48\uff0c\u5bf9\u4e8e1%2\uff0c\u5219\u7b49\u4e8e\uff1b
1%2 = 1 - (int)(1/2)*2= 1- 0*2=1\uff1b
\u5373\uff0c1%2 = 1\u3002

\u6269\u5c55\u8d44\u6599\uff1aJava\u7684\u8fd0\u7b97\u7b26\uff1a+\uff1b-\uff1b*\uff1b/\uff1b%
1\u3001\u7b26\u53f7\u201c%\u201d\u8868\u793a\u6c42\u4f59\u3002\u6c42\u4f59\u8fd0\u7b97\u7684\u7ed3\u679c\u662f\u4e24\u6570\u76f8\u9664\u540e\u7684\u4f59\u6570\u3002\u56e0\u6b64\uff0c\u53c2\u4e0e\u8fd0\u7b97\u7684\u503c\u5fc5\u987b\u4e3a\u6574\u6570\u3002
2\u3001\u7b26\u53f7\u201c/\u201d\u8868\u793a\u9664\u6cd5\u3002\u6ce8\u610f\uff0c\u6d6e\u70b9\u7c7b\u578b\u7684\u9664\u6cd5\u8fd0\u7b97\u5f97\u5230\u4e00\u4e2a\u6d6e\u70b9\u6570\u7ed3\u679c\uff0c\u800c\u6574\u6570\u9664\u6cd5\u8fd0\u7b97\u5f97\u5230\u4e00\u4e2a\u6574\u6570\u7ed3\u679c\u3002
3\u3001\u52a0\u6cd5\u8fd0\u7b97\u7b26 \u201c+\u201d\u4f7f\u5f97\u5b83\u4e24\u4fa7\u7684\u503c\u88ab\u52a0\u5230\u4e00\u8d77\u30024\u3001\u51cf\u6cd5\u8fd0\u7b97\u7b26\u201c-\u201d\u7528\u5b83\u524d\u9762\u7684\u6570\u51cf\u53bb\u540e\u9762\u7684\u6570\u30025\u3001\u4e58\u6cd5\u7531\u201c*\u201d\u8868\u793a\u3002C\u8bed\u8a00\u5e76\u6ca1\u6709\u8ba1\u7b97\u5e73\u65b9\u7684\u51fd\u6570\uff0c\u4e5f\u6ca1\u6709\u6307\u6570\u8fd0\u7b97\u7b26\u3002\u4f46\u4f60\u53ef\u4ee5\u5229\u7528\u4e58\u6cd5\u6765\u8ba1\u7b97\u5e73\u65b9\u3002
\u6bd4\u59825/2\u7684\u7ed3\u679c\u662f2\u3002\u5f53\u4f60\u5bf9\u6574\u6570\u548c\u6d6e\u70b9\u6570\u8fdb\u884c\u6df7\u5408\u8fd0\u7b97\u65f6\uff0c\u7ed3\u679c\u662f\u6d6e\u70b9\u6570\uff0c\u6bd4\u59825/2.0\u7684\u7ed3\u679c\u662f2.5\u3002
\u5b9e\u4f8b\uff1a
#include
int main(void)
{
int a = 7;
int b = 3;
//\u6c42a\u9664\u4ee5b\u7684\u4f59\u6570\uff0c\u5e76\u8f93\u51fa\u4f59\u6570
//\u5728\u8fd9\u91cc\u5199\u4e0b\u4f60\u7684\u4ee3\u7801
printf("%d",a%b);
return 0;
}
\u8fd0\u884c\u7ed3\u679c\uff1a

>\u53f3\u79fb\u64cd\u4f5c\uff0c\u8fd8\u6709>>>,\u5e26\u7b26\u53f7\u7684\u53f3\u79fb\u64cd\u4f5c\u3002
\u6765\u4e2a\u4f8b\u5b50\u5427\uff1a
16>>2
16\u7684\u4e8c\u8fdb\u5236\u662f0000\uff0c0000\uff0c0000\uff0c0000\uff0c0000\uff0c0000\uff0c0001\uff0c0000\uff08int\u662f32\u4f4d\u7684\u3002\u6b63\u6570\u7684\u9996\u4f4d\u4e3a0\uff0c\u8d1f\u6570\u7684\u9996\u4f4d\u4e3a1\uff09\u6b64\u8fd0\u7b97\u7b26\u7684\u610f\u601d\u662f\u628a16\u7684\u4e8c\u8fdb\u5236\u53f3 \u79fb2\u4f4d\uff0c\u5e26\u7b26\u53f7\uff0c\u56e0\u4e3a\u7b26\u53f7\u4f4d\u4e3a0\uff0c\u6545\u53d8\u4e3a\u2026\u2026 0000\uff0c0100\u3002\u5176\u5341\u8fdb\u5236\u503c\u662f4\u3002\u82e51000\uff0c0000\uff0c0000\uff0c0000\uff0c\u2026\u2026\u5219\u79fb\u4f4d2\u4f4d\u540e\u4e3a1110\uff0c000\u2026\u2026
\u770b\u6e05\u695a\u4e86\u5417\uff1f
>>>
\u8fd9\u4e5f\u662f\u53f3\u79fb\uff0c\u53ea\u4e0d\u8fc7\u662f\u4e0d\u5e26\u7b26\u53f7\u7684\u53f3\u79fb\uff0c16\u4e3a\u6b63\u6570\uff0c\u53f3\u79fb\u65f6\u5e26\u4e0d\u5e26\u7b26\u53f7\u90fd\u4e00\u6837\uff0c\u6545\u4ed6\u4eec\u7684\u6570\u76f8\u7b49\u3002
\u81f3\u4e8e<<,\u4f60\u5982\u6cd5\u70ae\u5236\u4fbf\u662f\u4e86\u3002

2>>1:右移一位,2右移一位相当于乘以2=>2/2=1
2<<1:左移一位,2左移移一位相当于除以2=>2*2=4

C语言中左移<<表示乘以2,右移>>表示除以2,这是由计算机工作原理导致
移位操作符的两个操作数必须是整型的。整个移位表达式的值的类型也是整型的,而且,左移位操作符与右移位操作符的运算并不对称

抢分的,,
二进制移位运算符
2的二进制是10,>>代表右移,10右移1位是二进制的1,<<代表左移,10左移1位是二进制的100,也就是十进制的4。

抢分的!!
二进制移位运算符
2的二进制是10,>>代表右移,10右移1位是二进制的1,<<代表左移,10左移1位是二进制的100,也就是十进制的4

<< , >> 都是按位运算符, 一个是按位左移,一个是右移

楼主还是把基础多看看吧

是移位运算符:
<< >> >>>
分别是左移位,带符号右移右移位,无符号右移;

  • java涓2>>1 缁撴灉涓1 ; 2>>2缁撴灉涓嶆槸搴旇涓0.5; 2>>3缁撴灉涓嶆槸搴旇涓0.25...
    绛旓細鍙崇Щ杩愮畻绗>>浣挎寚瀹氬肩殑鎵鏈変綅閮藉彸绉籲um浣 2 >> 1 00000010 鍙崇Щ1浣嶅悗 00000001 1锛2 >> 2 00000010 鍙崇Щ2浣嶅悗 00000000 0锛2 >> 3 00000010 鍙崇Щ3浣嶅悗 00000000 0锛涜繖鏍蜂綘搴旇鐪嬫噦浜嗗惂锛侊紒
  • java璇█涓1+鈥1鈥+2鐨勭粨鏋滄槸浠涔?
    绛旓細杩欐槸鍥犱负鍦Java涓紝褰撲竴涓暣鏁板拰涓涓瓧绗︿覆鐩稿姞鏃讹紝鏁存暟浼氳鑷姩杞崲涓哄瓧绗︿覆锛岀劧鍚庤繘琛屽瓧绗︿覆鎷兼帴鎿嶄綔銆傚洜姝わ紝琛ㄨ揪寮1+"1"浼氬緱鍒板瓧绗︿覆"11"锛岀劧鍚庡啀灏嗗彟涓涓暣鏁2杞崲涓哄瓧绗︿覆"2"锛屾渶缁堝緱鍒"112"銆
  • java涓Struts1鍜孲truts2鏈変粈涔堝尯鍒 ?
    绛旓細閫熷害鐩稿Stuts1鏉ヨ鎱竴鐐广備竴銆丮VC绠浠 Struts2鏄竴涓吋瀹筍truts1鍜學ebWork鐨凪VC妗嗘灦锛屾棦鐒讹紝鎻愬埌浜哅VC妗嗘灦锛屽氨涓嶅緱涓嶅MVC妗嗘灦鍋氫竴涓畝鍗曚粙缁嶏紝浠呴檺浜庣畝鍗曚粙缁嶏紝濡傛灉锛屾兂浜嗚В鏇村鐨凪VC鐨勭煡璇嗗彲浠ユ煡鐪嬬浉鍏崇殑鏂囨。锛屾垨鑰呮壘涓鏈琒truts1鐨勪功绫嶏紝鐩镐俊涓婇潰鍏充簬MVC鐨勭瘒骞呬笉浼氬緢灏戙傝█褰掓浼狅紝鍏跺疄锛孞ava鐩墠...
  • JAVA闈㈣瘯棰,璇烽棶杩欎袱涓(-2>>2 ,2<<2)鐨勫煎垎鍒槸浠涔?涓轰粈涔堛傝阿璋鐧惧害...
    绛旓細杩欐槸绉讳綅鐨勮绠楀晩锛岃繖鏄渶鎺ヨ繎璁$畻鏈虹‖浠剁殑璁$畻鎿嶄綔銆傞鍏堣鎶2杞寲涓轰簩杩涘埗鐨勮〃绀哄舰寮00000010锛岀劧鍚庡啀宸︾Щ涓や綅鍙樻垚00001000锛岃浆鎹负鍗佽繘鍒跺氨鏄8銆傜Щ浣嶈繍绠楃灏辨槸鍦ㄤ簩杩涘埗鐨勫熀纭涓婂鏁板瓧杩涜骞崇Щ銆傛寜鐓у钩绉荤殑鏂瑰悜鍜屽~鍏呮暟瀛楃殑瑙勫垯鍒嗕负涓夌锛<<锛堝乏绉伙級銆>>锛堝甫绗﹀彿鍙崇Щ锛夊拰>>>锛堟棤绗﹀彿鍙崇Щ锛夈備笁绉...
  • java涓鎬庢牱浜х敓涓涓1鎴2闅忔満鏁
    绛旓細public static void main(String[] args) {Random r = new Random();for (int i = 0; i < 10; i++) {//r.nextInt(n) n涓哄嚑 灏变骇鐢0~n-1鐨勯殢鏈烘暟int num = r.nextInt(2)+1;System.out.print(num+"\t");}}
  • 璇烽棶Java缂栫▼涓,Struts2 鍜 Struts1 姣旇緝,鏈変粈涔堜紭鍔垮拰鍖哄埆鍛?_鐧惧害鐭 ...
    绛旓細Struts2鍙互浣跨敤JSTL锛屼絾鏄篃鏀寔涓涓洿寮哄ぇ鍜岀伒娲荤殑琛ㄨ揪寮忚瑷锛嶏紞"Object Graph Notation Language" (OGNL).缁戝畾鍊煎埌椤甸潰锛坴iew锛:Struts 1浣跨敤鏍囧噯JSP鏈哄埗鎶婂璞$粦瀹氬埌椤甸潰涓潵璁块棶銆係truts 2 浣跨敤 "ValueStack"鎶鏈紝浣縯aglib鑳藉璁块棶鍊艰屼笉闇瑕佹妸浣犵殑椤甸潰锛坴iew锛夊拰瀵硅薄缁戝畾璧锋潵銆俈alueStack绛栫暐鍏佽閫氳繃...
  • java2<<2鐨勭粨鏋滄槸
    绛旓細java2<<2鐨勭粨鏋滄槸锛1/2鐨勬牴鍙36锛岀劧鍚庤繘琛屽寲瑙o紝杩欎釜缁撴灉鏄竴涓簩杩涘埗鐨勬暟瀛楋紝鍏蜂綋鐨勮绠楃粨鏋滆鐪嬮鎰
  • Java涓濡傛灉瀹氫箟: int a = 2; System.out.println("1" + 2); 涓轰粈涔堝悗...
    绛旓細Java鏄繖鏍风殑鍟︼紝瀛楃涓+鍙橀噺锛屼細鎶婂彉閲忚浆鎹㈡垚瀛楃涓茬殑锛岃繖鏄郴缁熼粯璁ょ殑鍔熻兘銆係ystem.out.println(1+a)浼氳緭鍑3 System.out.println(1+2)浼氳緭鍑3 System.out.println("1"+a)浼氳緭鍑12 System.out.println("1"+2)浼氳緭鍑12 System.out.println("Hello"+" World")浼氳緭鍑篐ello World System.out....
  • java鍙宠繍绠楃2>>2浣嶆槸澶氬皯
    绛旓細鐢8浣嶆暟瀛楁潵琛ㄧず 10浣嶆暟2灏辨槸锛0000 0010 鍙崇Щ涓浣嶏細0000 0001锛岀粨鏋滄槸1 鍐嶅彸绉讳竴浣嶏細0000 0000 缁撴灉鏄0 鎵浠2>>2 = 0
  • java涓簩杩涘埗鎬庝箞琛ㄧず?
    绛旓細7濂藉姙锛岀洿鎺ユ槸111 -7杞寲浜岃繘鍒剁殑杩囩▼:(1)鎶-7杞寲鎴7锛屼簩杩涘埗鏄 111 (2)Java涓瀵逛簬涓嶆弧32浣嶇殑int浜岃繘鍒惰嚜鍔ㄨˉ榻愶紝鎵浠ュ彉鎴愪簡 (29涓0)111 (3)鐒跺悗鍙栧弽 (29涓1)000 (4)鐒跺悗鍔1 (29涓1)001 杩欏氨鏄-7鐨勬暣涓浆鍖栬繃绋嬶紝閭d箞鐜板湪鏈変竴涓棶棰橈紝濡傛灉鏈変竴涓枃鏈枃浠讹紝姣忎竴琛屾湁鍏綅浜岃繘鍒讹紝...
  • 扩展阅读:mindmaster永久免费版 ... mindmaster官网入口 ... zoom gt cut水蜜桃 ... java入门网站 ... www.sony.com.cn ... mindmaster网页版 ... gt5官网入口 ... tiger&bunny2 ... java中gridlayout ...

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