以前不知道在哪看过别人写博客里的一句话  “越学的深入觉得自己会的东西越少”。最近研究了一下java的基础算法  hash表

被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西!

位移动运算符:

<<表示左移, 左移一位表示原来的值乘2.

例如:3 <<2(3为int型) 
1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011, 
2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 
3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100, 
转换为十进制是12。

同理,>>表示右移. 右移一位表示除2.


java中的>>与>>>的用法  以及区别

">>"是带符号右移,高位是1则补1,是零则补0;">>>"是无符号右移,无论是0是1,都是补0;

如1010 0000 0000 0000 0000 0000 0000 0000 >>4

则为1111 1010 0000 0000 0000 0000 0000 0000;

1010 0000 0000 0000 0000 0000 0000 0000 >>>4

则为0000 1010 0000 0000 0000 0000 0000 0000;


位运算:

位运算符包括: 与(&)、非(~)、或(|)、异或(^)

  &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000   

| :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110   

~:0变1,1变0   

^:两边的位不同时,结果为1,否则为0.如1100^1010=0110

http://www.cnblogs.com/highriver/archive/2011/08/15/2139600.html

恶补java基础 位运算符的更多相关文章

  1. Java基础-位运算符Bitwise Operators

    Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^ ...

  2. java基础-位运算符

    1.位运算符 << 左移 :            右边以0填充 >> 带符号右移:    负数前面补1,整数补0 >>>不带符号右移 & 按位与运算 ...

  3. Java基础-算术运算符(Arithmetic Operators)

    Java基础-算术运算符(Arithmetic Operators) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java程序通过运算符实现对数据的处理,Java中的运算符包括: ...

  4. Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)

    一.Java的位运算符实例——与(&).非(~).或(|).异或(^) 1.与(&) 0 & 2 = 0 0 0 0 0 1 0 0 1 0 2.非(~) ~0 = 7 0 0 ...

  5. Java基础-比较运算符Compare Operators

    Java基础-比较运算符Compare Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关系运算符 关系运算符包括: 1>.大于(>) 2> ...

  6. Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

    位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面 ...

  7. Java中位运算符的使用

    先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...

  8. java 基础one ---运算符and流程控制

    首先java这个了解下java的基础 首先java文件都是以.java结尾的  然后 他所有的内容都是有一个入口的就是放在了public static void main(String [] args ...

  9. java基础(4)--运算符及表达式

    运算符及表达式 算数运算 加(+) 减(-) 乘(*)  除(/) 取余(%) 自增(++) 自减(- -) 注意点 1. 同种类型参与运算(可能需要自动类型转换),返回同种类型 2. 整数的除法是整 ...

随机推荐

  1. 【LeetCode】14. Longest Common Prefix (2 solutions)

    Longest Common Prefix Write a function to find the longest common prefix string amongst an array of ...

  2. 【java设计模式】之 责任链(chain of resposibility)模式

    责任链模式,顾名思义,就是一条链.这个链到底是怎么运行的呢?它主要是将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给 ...

  3. java 移位

    java中没有2进制的数据类型,对二进制的操作,需要使用三种操作符 << 左移位操作符,算数左移           用来将一个数的二进制位序列左移若干位,高位左移后溢出,舍弃不用,右补0 ...

  4. android通过USB使用真机调试程序

    我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择.下面我就介绍 一下使用android手机来调试android ...

  5. 什么是IIS应用程序池

    IIS应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置.因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产 ...

  6. OGG_GoldenGate数据表定义方式DEFGEN(案例)

    2014-03-09 Created By BaoXinjian

  7. LevelDB场景分析1--整体结构分析

    基本用法 数据结构 class DBImpl : public DB { private:     struct CompactionState;     struct Writer;// Infor ...

  8. Solutions for the Maximum Subsequence Sum Problem

    The maximum subarray problem is the task of finding the contiguous subarray within a one-dimensional ...

  9. Linux时钟

    一.前言 时钟或者钟表(clock)是一种计时工具,每个人都至少有一块,可能在你的手机里,也可能佩戴在你的手腕上.如果Linux也是一个普通人的话,那么她的手腕上应该有十几块手表,包括:CLOCK_R ...

  10. Decorator - 装饰模式

    1. 概述 若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性.如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继 ...