位运算笔记(2)

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。位运算笔记(2),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

位运算之位运算符

//位运算符
public class Test3 {

    public static void main(String[] args) {

        //位运算符的种类
        /*
        * & : 按位与
        * | : 按位或
        * ^ :异或(两个不一样的时候才为1,一样的话为0)
        * ~ : 按位取反
        * << :左移
        * >> :右移
        * >>> :无符号右移
        * */
        //在进行位运算的时候都得转成二进制补码形式

        /*
        * 3 : 00000000000000000000000000000011
        * 4 : 00000000000000000000000000000100
        * */

        //3 和 4按位与
        int a = 3 & 4;
        System.out.println(a); //0
        // 3 和 4按位或
        int b = 3 | 4;
        System.out.println(b); //7
        //3 和 4按位异或
        int c = 3 ^ 4;
        System.out.println(c); // 7
        //3 按位取反
        int d = ~3;
        System.out.println(d); //-4

        //------------------------------左移,右移,无符号右移----------------------------------//

        /*
        * 左移或右移的两条规则(位的左移,右移,无符号右移都是对补码进行操作):
        * 1: 正数移动后空缺位填充为 0
        * 2: 负数移动后空缺位填充为 1
        * 无符号右移: 无符号右移的空缺位不会关注符号位,只要空缺就会补0
        * */
        //4 : 00000000000000000000000000000100

        //4 按位右移
        //4 : 00000000000000000000000000000001
        int e = 4>>2;
        System.out.println(e); //1

        //4 按位左移
        //4 : 00000000000000000000000000010000
        int f = 4<<2;
        System.out.println(f); //16
        //4 无符号右移
        4 : 00000000000000000000000000000001
        int g = 4>>>2;
        System.out.println(g); //1
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/202572.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!