日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 取模 与 取余_Java中的取模、取余和位移

發布時間:2024/1/1 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 取模 与 取余_Java中的取模、取余和位移 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.取模 (a mod b)

System.out.println("10 mod 3 = " + Math.floorMod(10, 3));

System.out.println("10 mod (-3) = " + Math.floorMod(10, -3));

System.out.println("(-10) mod 3 = " + Math.floorMod(-10, 3));

System.out.println("(-10) mod (-3) = " + Math.floorMod(-10, -3));

結果

取模運算

結論

取模運算結果的符號與b的符號一致。

2.取余(a % b)

System.out.println("10 % 3 = " + (10 % 3));

System.out.println("10 % (-3) = " + (10 % (-3)));

System.out.println("(-10) % 3 = " + ((-10) % 3));

System.out.println("(-10) % (-3) = " + ((-10) % (-3)));

結果

取余

結論

取余運算結果的符號與a的符號一致。

3.左移(a << b)

// -----------integer--------------

System.out.println("10 << 3 = " + (10 << 3));

System.out.println("10 << (-3) = " + (10 << (-3)));

System.out.println("10 << 29 = " + (10 << 29));

System.out.println("(-10) << 3 = " + ((-10) << 3));

System.out.println("(-10) << (-3) = " + ((-10) << (-3)));

System.out.println("(-10) << 29 = " + ((-10) << 29));

// ----------- long --------------

System.out.println("10L << 3 = " + (10L << 3));

System.out.println("10L << (-3) = " + (10L << (-3)));

System.out.println("10L << 61 = " + (10L << (-3)));

System.out.println("(-10L) << 3 = " + ((-10L) << 3));

System.out.println("(-10L) << (-3) = " + ((-10L) << (-3)));

System.out.println("(-10L) << 61 = " + ((-10L) << (-3)));

結果

左移

結論

a擴大相應倍數,且結果符號保持不變右側補0,當b<0時,取(b mod 32)或(b mod 64)。

4.右移(a >> b)

// -----------integer--------------

System.out.println("10 >> 3 = " + (10 >> 3));

System.out.println("10 >> (-3) = " + (10 >> (-3)));

System.out.println("10 >> 29 = " + (10 >> 29));

System.out.println("(-10) >> 3 = " + ((-10) >> 3));

System.out.println("(-10) >> (-3) = " + ((-10) >> (-3)));

System.out.println("(-10) >> 29 = " + ((-10) >> 29));

// ----------- long --------------

System.out.println("10L >> 3 = " + (10L >> 3));

System.out.println("10L >> (-3) = " + (10L >> (-3)));

System.out.println("10L >> 61 = " + (10L >> (-3)));

System.out.println("(-10L) >> 3 = " + ((-10L) >> 3));

System.out.println("(-10L) >> (-3) = " + ((-10L) >> (-3)));

System.out.println("(-10L) >> 61 = " + ((-10L) >> (-3)));

結果

右移

結論

a縮小相應倍數,且結果符號保持不變左側補0,當b<0時,取(b mod 32)或(b mod 64)。

5.無符號右移(a >>> b)

// -----------integer--------------

System.out.println("10 >>> 3 = " + (10 >>> 3));

System.out.println("10 >>> (-3) = " + (10 >>> (-3)));

System.out.println("10 >>> 29 = " + (10 >>> 29));

System.out.println("(-10) >>> 3 = " + ((-10) >>> 3));

System.out.println("(-10) >>> (-3) = " + ((-10) >>> (-3)));

System.out.println("(-10) >>> 29 = " + ((-10) >>> 29));

// ----------- long --------------

System.out.println("10L >>> 3 = " + (10L >>> 3));

System.out.println("10L >>> (-3) = " + (10L >>> (-3)));

System.out.println("10L >>> 61 = " + (10L >>> (-3)));

System.out.println("(-10L) >>> 3 = " + ((-10L) >>> 3));

System.out.println("(-10L) >>> (-3) = " + ((-10L) >>> (-3)));

System.out.println("(-10L) >>> 61 = " + ((-10L) >>> (-3)));

結果

無符號右移

結論

a縮小相應倍數,左側所有位補0,當b<0時,取(b mod 32)或(b mod 64)。

6.其他整數的位移(char、byte、short)

System.out.println("(char)10 << (-3) = " + ((char)10 << (-3)));

System.out.println("(byte)10 << (-3) = " + ((byte)10 << (-3)));

System.out.println("(short)10 << (-3) = " + ((short)10 << (-3)));

System.out.println("10 << (-3) = " + (10 << (-3)));

System.out.println("10 << 29 = " + (10 << 29));

結果

其他整數位移

結論

其他整數(char、byte、short)位移時,先轉化為int,然后再按照int的位移規則進行位移,并且其結果是int類型。

7.浮點數位移(float、double)

浮點數(float、double)不支持位移操作。

總結

以上是生活随笔為你收集整理的java 取模 与 取余_Java中的取模、取余和位移的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。