java移位操作示例
生活随笔
收集整理的這篇文章主要介紹了
java移位操作示例
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java移位操作示例
public class Shift4JTest {/***移位操作符有>>(右移)、<<(左移)、>>>(右移)* >>是帶符號(hào)右移,負(fù)數(shù)高位補(bǔ)1,正數(shù)高位補(bǔ)0* <<左移不管負(fù)數(shù)還是正數(shù),在低位永遠(yuǎn)補(bǔ)0* >>>是不帶符號(hào)右移,不論負(fù)數(shù)還是正數(shù),高位補(bǔ)0*/public static void main(String[] args) {int a = 10;int b = a << 1; //相當(dāng)于 乘以2的1次冪int c = a << 2; //相當(dāng)于 乘以2的2次冪int d = a << 3; //相當(dāng)于 乘以2的3次冪BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);}public class BitUtil {public static String getFull32BinaryString(Integer a){String s = Integer.toBinaryString(a);int count = 32 - s.length();StringBuilder sb = new StringBuilder();for (int i = 0; i < count; i++) {sb.append("0");if (i != 0 && i % 8 == 0) sb.append(" ");}sb.append(s);System.out.println(sb.toString());return sb.toString();}} } int a = 80;int b = a >> 1; //相當(dāng)于 除以2的1次冪int c = a >> 2; //相當(dāng)于 除以2的2次冪int d = a >> 3; //相當(dāng)于 除以2的3次冪System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d); int a = -80;int b = a >> 1; //相當(dāng)于 除以2的1次冪int c = a >> 2; //相當(dāng)于 除以2的2次冪int d = a >> 3; //相當(dāng)于 除以2的3次冪System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d); //正數(shù)>>>和>> 是一樣的int a = 80;int b = a >>> 1; //相當(dāng)于 除以2的1次冪int c = a >>> 2; //相當(dāng)于 除以2的2次冪int d = a >>> 3; //相當(dāng)于 除以2的3次冪System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d); //在負(fù)數(shù)的情況下>>>和>> 是不一樣的 //>>>不論正負(fù)數(shù) 高位永遠(yuǎn)補(bǔ)0int a = -80;int b = a >>> 1;int c = a >>> 2;int d = a >>> 3; System.out.println(a);BitUtil.getFull32BinaryString(a);System.out.println(b);BitUtil.getFull32BinaryString(b);System.out.println(c);BitUtil.getFull32BinaryString(c);System.out.println(d);BitUtil.getFull32BinaryString(d);總結(jié)
以上是生活随笔為你收集整理的java移位操作示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微波遥感 书目
- 下一篇: 特洛伊木马程序_对付斑块的“特洛伊木马”