位运算学习笔记
来源:互联网 发布:精灵4批量提取pos数据 编辑:程序博客网 时间:2024/05/08 06:29
位运算学习笔记:
JAVA中位运算符包括,
<<
>>
>>>
&
|
~
^
首先要搞清楚参与运算的数的位数,如int的是32位。long的是64位。
如int i = 1;
i的二进制原码表示为:
00000000000000000000000000000001
long l = 1;
l的二进制原码表示为:
0000000000000000000000000000000000000000000000000000000000000001
二、
正数没有反码、补码,也可以说正数的反码、补码跟原码一样。
负数的反码为原码逐位取反,
如int i = -1;
10000000000000000000000000000001,最高位是符号位。正数为0,负数为1。
逐位取反后:
01111111111111111111111111111110即反码。
反码加1:
01111111111111111111111111111111即补码。
负数都是用补码参与运算的。得到的也是补码,需要减1取反获得原码。
三、常用的位运算符--0在位运算中是比较特殊的。
^ 异或。 相同为0,相异为1; 任何数与0异或都等于原值。
& 与。 全1为1, 有0为0; 任何数与0异或都等于0。
| 或。 有1为1, 全0为0。 任何数与0或都等于原值。
<< 左移。 补0。
>> 右移。 符号位是0补0,是1补1。
>>>无符号右移。补0。
~ 非 逐位取反
四、负数参与的运算,得到的是补码,需要将补码先减1,然后逐位取反,得到原码。即为运算结果。
0例外,如果得到的是0,则不需减1和取反。
另外,两个正数运算后得到的就是原码,不需减1和取反。
举例:
1^-1,
-1
10000000000000000000000000000001--原码
01111111111111111111111111111110--反码
01111111111111111111111111111111--补码
1
00000000000000000000000000000001--原码
则1^-1等于
01111111111111111111111111111111^
00000000000000000000000000000001=
01111111111111111111111111111110--补码
01111111111111111111111111111101--反码
10000000000000000000000000000010--原码==-2
即1^-1=-2
举例:
1^-2
-2
10000000000000000000000000000010--原码
01111111111111111111111111111101--反码
01111111111111111111111111111110--补码
1
00000000000000000000000000000001--原码
则1^-2等于
01111111111111111111111111111110^
00000000000000000000000000000001=
01111111111111111111111111111111--补码
01111111111111111111111111111110--反码
10000000000000000000000000000001--原码==-1
- 位运算学习笔记
- 学习笔记---位运算
- 位运算学习笔记
- 位运算符学习笔记
- JAVA学习笔记-位运算
- 【1001】位运算学习笔记
- Java学习笔记(位运算符)
- C语言学习笔记11--位运算
- 学习笔记 简单的位运算
- 位运算 8皇后学习笔记
- C语言学习笔记 位运算
- java学习笔记之位运算
- 牛客网算法学习笔记-位运算
- 枚举中的位运算学习笔记
- 【JavaSE学习笔记】位运算符
- 学习位运算(操作)的笔记
- 学习笔记2:c++位运算-异或运算
- java学习笔记(位运算符 三元运算符)
- 《解剖PetShop》系列之四-PetShop之ASP.NET缓存
- 《解剖PetShop》系列之三-PetShop数据访问层之消息处理
- 笔试面试题目小结
- 《解剖PetShop》系列之二-PetShop数据访问层之数据库访问设计
- 拜读林锐先生的《软件工程思想》发现一段经典
- 位运算学习笔记
- 《解剖PetShop》系列之一PetShop的系统架构设计
- Spring简介
- PetShop 4.0架构分析
- VC与网页数据和事件交互
- PetShop中.snk文件和AssemblyInfo.cs文件的作用
- Hibernate3中的属性延迟加载
- 比较复杂的动态SQL语句功能一例
- 应届毕业生们。。。在自认实力欠缺的同时也请相信你的运气!