Java基础03——位运算符

昨晚一罪恶,鸽了,今天一大早就补上,我可能又要长篇大论讲来龙去脉

了(有人说电影里讲过来龙去脉的大魔王都不会有好下场。。捂脸)

======================割割===================

- 1.位运算符

  • 【问】位运算是啥?
  • 【答】(完了完了,这一说开又要连比带画讲故事了。)说到位这个概念,就要说说我前面没有说开的变量概念,java基础02,我写的是够应付的,也就我自己看的懂了吧……(自己挖坑要自己埋。。)开始说说,其中的一个概念,变量。

1.1 变量

变量是计算机程序语言中都会有的一个内容,主要就是用来保存一个量的,比如说,今天小明(又是小明。。。)要算一百次的加法运算,他就让计算机去做,定义出了一个变量

int a;
//int 是一种数据类型
//a就是一个名称,我叫它b或者c都可以

这个变量的概念,可以和上课学过的未知数x类比,不过不一样的是,x可以代表所有的数,a却不行。因为我们看到了,a前面有一个数据类型。这个数据类型规定了两个东西,a的类型和a的大小。int类型的意思是a是一个数字,而且是整数。但是a的大小是有限制的,具体多大我忘记了,反正你如果让

a=6666666666666666666666;

多半是要出问题的,因为,计算机开辟给a的空间没有那么大。int类型的空间大小是4*8=32位。

  • 【问】位是啥?
  • 【答】又绕回这个问题了,电脑的底层就只有0,1两个数字,所以,每一位就是可能填0或1的位置。所以每位有2种可能性,总共就有2^32的可能性,又因为计算机规定了,32位里面,第一位是符号位,所以,负数有2^31种可能,整数有2^31种可能。这就是int类型变量能取值的范围。

当然,变量不仅仅可以放数字,也可以放字符等,具体的我就先解释到这里,以后用到了再说。

明白位是什么了吧?
算了,我觉得这很难明白,要明白具体的,还是看专业的书吧……

回来位运算,又有一堆运算符

 >>,<<,>>>,&,|,^,~

这次直接来一个程序搞定这么多个问题

public class Test
/*
    位运算相关 >>,<<,>>>,&,|,^,~
*/
{
    public static void main(String [] args){
        int b=-8;
        //右移2位,答案为-2
        System.out.println(b>>2);
        //左移2位,答案为-32
        System.out.println(b<<2);
        //无符号右移2位,答案为1073741822
        System.out.println(b>>>2);
        //位与,答案 0
        System.out.println(b&2);
        //位或,答案 -6
        System.out.println(b|2);
        //位异或,答案 -6
        System.out.println(b^2);
        //位非,答案 7
        System.out.println(~b);
    }
}

这里写图片描述

人懒,其他我就不画了。。。其实都差不多,原理就是这个。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值