移位运算符<< >>傻瓜式测试用例

千万要牢记: 左边是被操作数,右边移动位数(这对左移符和右移符来说都是一样的)

public class Test {
    
    
    // 从极限出发,傻瓜式测试
    public static void main(String[] args) {
    
    
        /*** 左移测试 ***/
        //          被操作数 左移箭头 左移位数         二进制   十进制
        System.out.println(1 << 0); // 1 向左移0位,    1 = 1
        System.out.println(1 << 1); // 1 向左移1位,   10 = 2
        System.out.println(1 << 2); // 1 向左移2位,  100 = 4
        System.out.println(1 << 3); // 1 向左移3位, 1000 = 8
        System.out.println(1 << 4); // 1 向左移4位,10000 = 16

        System.out.println(2 << 1); // 2 向左移1位,10 变    100 即 4
        System.out.println(2 << 2); // 2 向左移2位,10 变   1000 即 8
        System.out.println(2 << 3); // 2 向左移3位,10 变  10000 即 16
        System.out.println(2 << 4); // 2 向左移4位,10 变 100000 即 32

        System.out.println(3 << 1); // 3 向左移1位,11 变    110 即 6
        System.out.println(3 << 2); // 3 向左移2位,11 变   1100 即 12
        System.out.println(3 << 3); // 3 向左移3位,11 变  11000 即 24
        System.out.println(3 << 4); // 3 向左移4位,11 变 110000 即 48

        /*** 右移测试 ***/
        //         被操作数 右移箭头 右移位数          二进制   十进制
        System.out.println(1 >> 0); // 1 向右移0位,    1 = 1
        System.out.println(1 >> 1); // 1 向右移1位,    0 = 0
        System.out.println(1 >> 2); // 1 向右移2位,    0 = 0
        System.out.println(1 >> 3); // 1 向右移3位,    0 = 0
        System.out.println(1 >> 4); // 1 向右移4位,    0 = 0

        System.out.println(2 >> 0); // 2 向右移1位,10 变  10 即 2
        System.out.println(2 >> 1); // 2 向右移1位,10 变  01 即 1
        System.out.println(2 >> 2); // 2 向右移2位,10 变  00 即 0
        System.out.println(2 >> 3); // 2 向右移3位,10 变  00 即 0
        System.out.println(2 >> 4); // 2 向右移4位,10 变  00 即 0

        System.out.println(3 >> 1); // 3 向右移1位,11 变  01 即 1
        System.out.println(3 >> 2); // 3 向右移2位,11 变  00 即 0
        System.out.println(3 >> 3); // 3 向右移3位,11 变  00 即 0
        System.out.println(3 >> 4); // 3 向右移4位,11 变  00 即 0
    }

}

猜你喜欢

转载自blog.csdn.net/Xidian2850/article/details/124943588
今日推荐