博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java位移运算符|And&,操作二进制
阅读量:4566 次
发布时间:2019-06-08

本文共 1110 字,大约阅读时间需要 3 分钟。

在java中 逻辑运算符有四种:&  ,  |,  &&,  || 

  &: 如果第一个条件是fasle,还会判断第二个条件,只要有一个条件不满足,结果就返回false;

 &&:如果第一个条件就不满足,则直接返回false,不会去判断第二个条件;  

    |和||跟上面是一样的意思

  

  

Java中基本类型:
 
    int数据类型:byte(8bit ,-128~127)        short(16 bit)       int(32 bit)   long(64 bit)
 
    float数据类型: 单精度(32 bit  float)、双精度(64 bit  double)
 
    boolean类型:  true  false 
 
    char数据类型:unicode字符(16位) 
 
对应的类类型:
 
    Integer、Float、Boolean、Character、Double、Short、Byte、Long
 
二进制数据如果第一位是1,则是负数;第一位是0,则是正数
 

 举个例子(-1和255)00000001

-1转换成二进制(byte类型):11111111

1转换成二进制(int类型):00000000-00000000-00000000-00000001

转换成二进制要先取反,然后+1,(11111111-11111111-11111111-11111111)

如果把负数的二进制转换成十进制数据:首先要-1,然后取反 -(00000000-00000000-00000000-00000001),结果就是-1;

255转换成二进制(int类型):00000000-00000000-00000000-11111111

正数的二进制转换成十进制则不用取反:1*(2*1)+1*(2*2)+1*(2*2*2)....... = 255;

 

 

System.out.println("a>>b = "+3>>1);

System.out.println("a<<b = "+3<<1);

System.out.println("a&b = "+3&1); 

System.out.println("a|b = "+3|1);

System.out.println("a^b = "+a^b);

a = 0011

b = 0001

a = 3

b = 1

运行结果是:

a>>b = 1   :0001

a<<b = 6   :0111

a & b = 1   :0001

a | b = 3  :0011

a ^ b = 2     :0010

转载于:https://www.cnblogs.com/gudu1/p/6445744.html

你可能感兴趣的文章
全排列函数
查看>>
poj2195Going Home(最小费用最大流)
查看>>
Oracle回收站的清理方法
查看>>
CentOS 7.2 (mini) 里iptables防火墙怎么关闭?
查看>>
怎样关闭“粘滞键”?
查看>>
Telnet自动登录
查看>>
ionic笔记
查看>>
ORACLE1.12-事实表,维表,多对多
查看>>
百度编辑器UEditor抓取远程图片保存到图片服务器,或上传到ftp服务器的问题
查看>>
iOS - Block产生Memory Leaks循环引用导致的内存泄漏以及解决方案
查看>>
Java中的String数据类型
查看>>
Linux下压缩mp3文件
查看>>
ASIHTTPRequest-Cookie的使用
查看>>
一篇文章彻底弄清ARC始末
查看>>
poj1606 Jugs(BFS)
查看>>
HDU 1166 敌兵布阵(线段树 单点更新)
查看>>
wget: command not found的两种解决方
查看>>
XDoclet学习
查看>>
安利一下近期做的几道线段树入门题
查看>>
《HiWind企业快速开发框架实战》(1)框架的工作原理
查看>>