位运算 用途
来源:互联网 发布:七星彩预测软件 编辑:程序博客网 时间:2024/05/22 17:43
在代码中我们常会看到位运算
位运算是一种高效的运算机制,利用二进制来进行
数据类型
byte == 8
boolean == 8
short == 16
int == 32
long == 64
float == 32
double == 64
char == 16
4 用 二进制表示
0000 0000 0000 0000 .. 0000 0000 0000 0100
6 用 二进制表示
0000 0000 0000 0000 .. 0000 0000 0000 0110
或 | 符号 真真为真 真假为真 假假为假
4 | 6:::6==110
0000 0000 0000 0000 .. 0000 0000 0000 0110
异或 ^ 真真为假 真假为真 假假为假
4 ^ 6:::2==10
0000 0000 0000 0000 .. 0000 0000 0000 0010
与 运算 & 真真为真 真假为假 假假为假
4 & 6:::4==100
0000 0000 0000 0000 .. 0000 0000 0000 0100
有符号的
右移符号 >> (若正数 高位补0, 负数, 高位补1)
右移一位
x =7 ==111 7>>1 = 011 = 3
右移两位
x =7 ==111 7>>2 = 001 = 1
左移一位
x =7 ==111 7<<1 = 1110 = 14
左移2位
x =7 ==111 7<<1 = 11100 = 28
无符号的右移 >>> 左移 <<< (无论正负 高位补0)
我们先看一下 int x = 7 ; 二进制 表示为
public class MainTest { public static void main(String[] args) { String str1 = "0101"; int int1 = Integer.parseInt(str1, 2); System.out.println(Integer.toBinaryString(int1)); int x = 7; getB2("x", x); int y = 2; getB2("y", y); // 或运算 int a1 = x ^ y ; getB2("x ^ y", a1); // 与运算 int a2 = x & y; getB2("x & y", a2); // 求反 int a3 = ~x; getB2("~x", a3); // 右移 int a4 = x >> y; getB2("x >> y", a4); // 左移 int a5 = x << y; getB2("x << y", a5); } private static void getB2(String string ,int x) { String binaryString = Integer.toBinaryString(x); System.out.println(string + ":::" + x + "==" + binaryString); }}
阅读全文
0 0
- PHP位运算用途
- 位运算 用途
- 位运算的一些用途
- 位运算以及用途详解
- 位运算的特殊用途
- 位运算以及用途详解
- 按位运算的用途
- Java位运算总结:位运算用途广泛
- Java位运算总结:位运算用途广泛
- Java位运算总结:位运算用途广泛
- Java位运算总结:位运算用途广泛
- Java位运算总结:位运算用途广泛
- Java位运算总结:位运算用途广泛
- 位运算符的一些用途
- 老生常谈PHP位运算的用途
- 位运算符和位运算(与,或,异或等)的用途
- 位运算符和位运算(与,或,异或等)的用途
- 位运算符和位运算(与,或,异或等)的用途
- C#获取局域网所有IP几个方法总结
- 码农进“城”之路
- Mac OS X下安装并配置JDK
- 如何选择版本控制系统之三
- 更多软件产品
- 位运算 用途
- APT威胁检测之flash类检测方法
- The Solution to Leetcode 605 Can Place Flowers
- Git 常用命令总结
- java.lang.NoClassDefFoundError: net/sf/json/JSONObject异常的解决办法
- 推荐五款Android 应用的自动化测试工具
- JSP内置对象request的方法的使用
- Java版拼图游戏(基于swing编程提升版)
- linux三剑客之grep命令详解