Java的位运算符——&0xFF的运算与讲解
快放元旦假,没心思做啥的事,就去翻以前的代码遇到这句,但是又不懂,所以只好上网找,终于懂了那么一点点。
所以那个大神看到我说的有问题,请指出!谢谢。。。。
一:首先区分一下 A~F的意思先
A,代表十进制的10,二进制的1010。
B,代表十进制的11,二进制的1011。
C,代表十进制的12,二进制的1100。
D,代表十进制的13,二进制的1101。
E,代表十进制的14,二进制的1110。
F,代表十进制的15,二进制的1111。
e
二:区分 &,丨,^的运算规则
& (按位与运算符)表示:
两个操作数中位都为1,结果为1
如果两个操作中位一个1另一个0 ,结果为0
即运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
例如:1010 & 1110= 1010 |(按位或运算符)表示:
两个操作中位只有一个为1,结果就等与1
即运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1 例如: 1010 | 1111 =1111 ^(异或 运算符)表示
两个中位如果相同的数值,结果为 0,
如果两个中位 数值不同,结果为1.
即运行结果:同数值: 0^0=0;1^1=0;
不同数值: 0^1=1; 1^0=1; 例如:1010 ^ 1110 = 0100
~(取反运算符)表示:(这个我不太懂)
参加运算的一个数据,按二进制位进行“取反”运算。
即:对一个二进制数按位取反,即将0变1,1变0
运算规则:~1=0; ~0=1; 例如:使一个数的最低位为零,可以表示为:a&~1
~1的值为1111111111111110
3:0x31 (一般看到0x==》16进制数)
0x31计算: 先把0x31转换为 10进制的数 0x31(10)=16*3+1=49
再把得到10进制转 2进制 49(2)=110001
所以 0xFF 也是这样计算的 F==>表示15进制
0xFF(10)= 16*15+15=255
255 (2) = 11111111
0x31 & 0xFF 的 计算
因为0xFF得出的结果 8个字节,而位数要相同,那么 0x31就要补0,因为在0x31的二进制为110001已经又6个字节了,那么再前面加两个0即可(这句其实我觉得我说的有点怪怪的)
a): 0x31 & 0xFF
= 00110001 & 11111111
=00110001
=110001
b): 0x31 | 0xFF
= 00110001 | 11111111
=11111111
Java的位运算符——&0xFF的运算与讲解的更多相关文章
- Java基础-位运算符Bitwise Operators
Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^ ...
- Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
一.Java的位运算符实例——与(&).非(~).或(|).异或(^) 1.与(&) 0 & 2 = 0 0 0 0 0 1 0 0 1 0 2.非(~) ~0 = 7 0 0 ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...
- Java的位运算符与二进制转换
转换: Java整型数据类型有:byte.char.short.int.long.要把它们转换成二进制的原码形式,必须明白他们各占几个字节.,一个字节==8位数 数据类型 ...
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面 ...
- Java中位运算符的使用
先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...
- 恶补java基础 位运算符
以前不知道在哪看过别人写博客里的一句话 “越学的深入觉得自己会的东西越少”.最近研究了一下java的基础算法 hash表 被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西! ...
- Java的位运算符—— 与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面 ...
- Java的位运算符具体解释实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包含了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.以下 ...
随机推荐
- Hdu4786
Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- 在 Win8.1 上安装 Dedup
install-package Microsoft-Windows-ServerCore-FullServer-Package~31bf3856ad364e35~amd64~~6.3.9600.163 ...
- android删除表和清空表
删除某一表: //删除某一个表 public void dropTable(SQLiteDatabase db){ db.execSQL("drop from tab_name") ...
- Minikube之Win10单机部署Kubernetes(k8s)自动化容器操作的开源平台
Minikube之Win10单机部署 Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以 ...
- POJ 3279 枚举?
思路: 1.枚举第一行 递推剩下的 判断最后一行成不成立 2. (误)高斯消元? 如何判断1最少和字典序最小- (所以这种做法好像不可取) //By SiriusRen #include <cs ...
- iview 分页的案例
//html部分 //js部分
- T_SQL 字符串函数
字符串函数用于处理列中的数据值,通常属于字符型的数据类型. 1.ASCLL(character),将具体字符转换为相应的整数(ASCII)代码,结果为正数. 例:select ASCII('A'), ...
- AIX 6.1 Oracle 10G 数据库GoldenGate实施
安装环境说明: 源端:AIX 6.1 10.190.1.215 目标端:Linux 10.191.1.10 1:源端创建goldengate 表空间. 表空间的要求:最小500m,大点3-5G,设置自 ...
- php八大设计模式之装饰器模式
我们都知道,得到一匹布需要大概这么几步: 1.染色 2.印花 3.裁剪 这种形式在面向对象中怎么实现呢? 面向过程[继承模式]实现: 继承模式得到需要的布料,一步一步的加工. 继承的层次越来越深,扩展 ...
- 题解 UVA10328 【Coin Toss】
这道题目其实就是说有N张纸牌,问至少连续K张正面朝上的可能性是多少. 可以用递推做.首先我们将题目所求从 至少K张 转化为 总数 - 至多K张 (为什么要这样自己想) 设F[i][j]为前i个纸牌至多 ...