Java的位运算符

/**
 * @author ThompsonGuo
 * @date 8/23 22:11
 */
//正数的左移或者右移操作都是空位补0;
//而负数的左移是空位补0,符号位不变,若所移动位数超出符号位则左移结果为原数,右移是空位补1。
//负数的无符号右移<<<与右移相同

public class byteMove {
    public static void main(String[] args) {
        int i = 1; (0001)
        int j = -1; (1111)

        int a1 = i << 1; (0010)2
        int a2 = i >> 1; (0000)0

        int b1 = j << 2; (1100)-4
        int b2 = j >> 2; (1111)-1

        System.out.println("i左移一位是:" + a1);
        System.out.println("i右移一位是:" + a2);
        System.out.println("j左移2位是:" + b1);
        System.out.println("j右移2位是:" + b2);

    }
}
i左移一位是:2
i右移一位是:0
j左移2位是:-4
j右移2位是:-1


全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
焦虑中,不知道怎么办了。。。
西北上单:应该放俩项目合理一些 我是一个业务开发项目 一个AI项目和你这个写的亮点差不多
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务