文档章节

Java 二进制

当空皓月
 当空皓月
发布于 2016/04/17 11:56
字数 337
阅读 89
收藏 9

按位与、或、异或等运算方法:

http://blog.sina.com.cn/s/blog_618199e60100ka5b.html

按位与运算符(&)

运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1;

 即:两位同时为“1”,结果才为“1”,否则为0。

应用:

假设我们规定一个人有听,说,读,写,四个权限。

用二进制位0111 0000表示,第7,6,5,4位对应听,说,读,写,四个权限。1表示有权限,0表示无权限。

如果服务端给我们传递了一个112,那么他有什么权限呢?

将112转换成二进制:01110000,可见:他有听,说,读的权限。

那么用程序怎么判断某一位是否是1呢?

我们可以用2的6,5,4,3次方,分别跟传递进来的112进行与运算。如果结果是0,表示无权限。否则表示有权限。

112   0111 0000       传递的值

2^6   0100 0000       相与结果不是0,第7位有听权限。

2^5   0010 0000       相与结果不是0,第6位有说权限。

2^4   0001 0000       相与结果不是0,第5位有读权限。

2^3   0000 1000       相与结果为0,第4位没有写权限。

两位同时为“1”,结果才为“1”,否则为0。

总结:传递的值与某位相与的结果如果是0表示某位上没有权限。

© 著作权归作者所有

共有 人打赏支持
当空皓月
粉丝 13
博文 179
码字总数 67070
作品 0
郑州
[Java] JAVA和JVM运行原理

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。 编译器负责把Jav...

枫兮兮
2014/03/12
0
0
Apache Mina server简单编解码实现

协议编解码器是在使用Mina 的时候你最需要关注的对象,因为在网络传输的数据都是二进制数据(byte),而你在程序中面向的是JAVA 对象,这就需要你实现在发送数据 时将JAVA 对象编码二进制数据...

zwt
2012/09/02
0
0
Java常识:IDE、JRE、JDK等字段的阐述

目前对这些最基本的常识都难以阐述,颇觉羞愧,果断整理出来。 IDE(Integrated Development 集成开发环境),集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、...

MiniBu
2014/05/06
0
0
java基础--JDK安装、环境变量配置、工具开发第一个程序、数据类型、运算符

-----Java基础大纲----- **-----本章节-----** 1.Java语言的历史、特点及工作原理 2.JRE和JDK的介绍 3.Java运行环境和开发工具 4.Java基础语法 **-----下一章节-----** 5.条件语句 6.循环 7....

我是宁采臣
06/26
0
0
Java虚拟机标准(第10版)第一章(节选)翻译与评注

英文原文链接:https://docs.oracle.com/javase/specs/jvms/se10/html/jvms-1.html 评注是括在鱼尾号之间的文字,其余均为翻译 Java虚拟机是Java平台的基石,这种技术实现了诸如跨平台、生成...

Jelif
06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么Java大神,都在看Spring Boot和Spring Cloud的书?

如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的书籍,那么,你今天就来对地方了。 本文,我们将讨论一些学习Spring Boot和Spring ...

Java小铺
15分钟前
6
0
springboot logback日志配置

springboot 如果不使用外部tomcat的话,日志是需要自己配置的,不然的话就只有控制台的日志,但是日志又是我们在项目上了生产环境,出问题时,检查问题的唯一途径,所以我们要配置详细的日志...

曾大大胖
15分钟前
2
0
Linux服务器集体篡改时间的方法

Red Hat 虚拟化课程RH318,中小型公司使用的话,感觉可以匹敌OpenStack。手头上有一个VMware的映像,RHEV 3.5版的,只能把系统时间调整到2016年才能使用。Red Hat的RHEV已经更新到4.1版,不过...

大别阿郎
16分钟前
1
0
Tomcat启动异常:java.lang.ClassNotFoundException

警告: Name = mysqlDataSource Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "100" for "maxActive" property, wh......

hengbao5
17分钟前
1
0
GO错误的一些处理(defer,recover,panic)

package main import("fmt""errors")func main() {num := 10fmt.Printf("num的类型%T, num的值%v, num的地址%v\n", num, num, &num)num2 := new(int) //返回一个指针//num...

汤汤圆圆
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部