快放元旦假,没心思做啥的事,就去翻以前的代码遇到这句,但是又不懂,所以只好上网找,终于懂了那么一点点. 所以那个大神看到我说的有问题,请指出!谢谢.... 一:首先区分一下 A~F的意思先 A,代表十进制的10,二进制的1010.B,代表十进制的11,二进制的1011.C,代表十进制的12,二进制的1100.D,代表十进制的13,二进制的1101.E,代表十进制的14,二进制的1110.F,代表十进制的15,二进制的1111.e二:区分 &,丨,^的运算规则 & (按位与运算符)表示:两个…
Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算特点 位运算符分为按位与(&),按位或(|),按位异或(^),按位取反(~). 位运算存在以下特点: 1>.如果&|^两侧为布尔值,就是逻辑操作 如果两侧为整数就是按位操作 2>.位运算就是对整数的二进制位进行运算 a>.1 & 1 == 1 b>.0 | 0 == 0 c>.1 ^ 1 == 1 d>.1 ^ 1…
一.Java的位运算符实例——与(&).非(~).或(|).异或(^) 1.与(&) 0 & 2 = 0 0 0 0 0 1 0 0 1 0 2.非(~) ~0 = 7 0 0 0 1 1 1 3.或(|) 0 & 2 = 2 0 0 0 0 1 0 0 1 0 4.异或(^) 1 & 2 = 3 0 0 1 0 1 0 0 1 1 二.运用场景.(类似打标) public enum FlagEnums { A(1, "高"), B(2, &qu…
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&)  :两位全为1,结果为1,否则为0: (2)按位或  (|)   :两位有一个为1,结果为1,否则为0: (3)按位取反(~):0 变 1, 1变0: (4)按位异或(^):两位,如果相同,结果为0:如果不同,结果为1: 注意:      (1)位运算中的 符号位(最高位)也跟着变; (2)位运算符与逻辑运算符(逻辑与&&.逻辑或||.逻辑非! )有点相似.但是,逻辑运算符只能操作boolean变量  …
转换: Java整型数据类型有:byte.char.short.int.long.要把它们转换成二进制的原码形式,必须明白他们各占几个字节.,一个字节==8位数 数据类型                           所占位数      byte                                       8        boolean                                8       short                        …
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static void main(String[] args){int a=129;int b=128…
先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以下主要针对负数进行讲解. 原码:在数值前直接加一符号位的表示法. 反码:原码的数值位取反(0变1,1变0). 补码:原码加1. PS:已知补码,求原码. 分析:按照求负数补码的逆过程,可以采取补码减1再取反的思路.但是对于二进制来说,减1取反和取反加1的效果是一样的.所以仍然可以采用取反加1的方法来…
以前不知道在哪看过别人写博客里的一句话  “越学的深入觉得自己会的东西越少”.最近研究了一下java的基础算法  hash表 被一些位运算符搞的头都大了 决心花一些时间研究一下以前一直觉得没用的东西! 位移动运算符: <<表示左移, 左移一位表示原来的值乘2. 例如:3 <<2(3为int型) 1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011, 2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 3)在低位(右侧)…
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段. public class data1 { public static void main(String[] args) { int a=129; int…
位运算符主要针对二进制,它包含了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.以下具体介绍每一个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律例如以下:两个操作数中位都为1,结果才为1,否则结果为0,比如以下的程序段.public class data13{public static void main(String[] args){int a=129;int b=…
一哥们去笔试,回来后跟我说了一通面试题,其中有一道题让我很感兴趣: 不使用+号实现加法运算 刚听到后,一脸懵逼,不使用+号怎么算? 问了朋友他也没做这题,不过仔细想了下,不使用+号,是否可以使用其他运算符?比如位运算符 既然说到这,就看下位运算符有哪些,实现是什么: &---位与运算符,都为真时才真 |---位或运算符,有一个为真时则真 ^---位异或运算符,不同时为真时则真 ~---位反运算符,取反 <<---位左移运算符,向左移动N位 >>---位右移运算符,向右移动N…
1.位运算符 << 左移 :            右边以0填充 >> 带符号右移:    负数前面补1,整数补0 >>>不带符号右移 & 按位与运算 | 按位或运算 ^按位异或 ~按位取反 ^按位异或 /* 演示位运算 << : 左移,右边以0填充 */ public class BitDemo{ public static void main(String[] args){ int i = 3; System.out.println(i &…
位运算符主要针对二进制,它包括了:“与”.“非”.“或”.“异或”.从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算.下面详细介绍每个位运算符. 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段.public class data13{public static void main(String[] args){int a=129;int b=128…
一 数据储存形式 二进制在内存中以补码的形式存在. 补码首位是符号位,0表示该数是正数,1表示该数是负数.   例如:   数值 带符号的二进制原码 (首位表示符号位) 补码 内存中的形式 (*表示无效位,其数量取决于分配的内存空间) 9 01001 01001 0***1001 -5 1***101  1***011  1***011      二 补码是什么 正数: 补码 = 反码 = 原码 负数: 原码取反 = 反码,反码+1 = 补码   ⚠️运算时: 符号位不变,有效位进行运算!带*号…
1.与运算&,同为1为1,否则为0: 例如:10001(二进制)&10000(二进制)=10000(二进制) 2.或运算|,只要有1就是1: 例如:10001(二进制)&10000(二进制)=10001(二进制) 3.非运算~,1为0,0为1: 例如:~10001(二进制)=01110(二进制) 4.异或运算^ 10001(二进制)^10000(二进制)=11110(二进制) 5.移位运算符 >>右移 1001(二进制)>>3=0001: <<左…
整型转二进制:Integer.toBInaryString(6) <<:左移,3<<2 = 3*2*2 = 12 >>:右移,3>>1 = 3/2 = 1.(有符号的右移,看首位是0还是1,是0则补0,是1则补1:无符号右移就只补0) >>>:无符号右移,3>>>1 = 3/1 = 1.,注意没有无符号左移 &:与运算,6 & 3 = 2(当二进制中两个数的对应位置都为1,结果才为1,例如1010 &…
算术运算符 1.java的算数运算符包括+(加).-(减).*(乘)./(除).%(取余),在运算过程中出现的隐式转换原则和C语言一样:2. 高位数据向低位数据转化要使用强制转化: 关系运算符 1.java的关系运算符包括>.<.>=.<=.==.!=,其使用规则和C语言一样,在复杂的关系运算语句中同样有短路原则:2.java逻辑运算的结果使用输出语句输出答案只能是false或者true,结果是boollean类型,这一点跟C语言不一样! public class Operator…
位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = 1 --> 3/2=1 >>> 无符号右移 3 >>> 1 = 1 --> 3/2=1 & 与运算 6 & 3 = 2 | 或运算 6 | 3 = 7 ^ 异或运算 6 ^ 3 = 5 ~ 反码 ~6 = -7 左移乘以2,右移除以2,&…
java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如  3&5=1 3对应的二进制数是0011       5对应的二进制数是0101,所以根据与运算的规则,3&5得出的结果是0001,转换成十进制就是1 2.或运算符(|) 或运算符的的使用规则是两个位中只要任意一个里面有一,那么结果为1,也就是说只有当两个位都为0的时候结果才为0,例如 3|5=7 根据或运算符的…
上一节写了一些运算符的注意事项,这节开头依然是对运算符的一些注意点的阐述! 比较运算符除了>.>=.<.<=.==.!=之外需要注意instanceof:检查是否是类的对象,例如:”Hello” instanceof String ,返回结果位true. 1.逻辑运算符 &(与)的运算特点:运算的两边只要有一个是false,结果肯定是false,只有两边都为true,结果才true: |(或)的运算特点:运算的两边只要有一个是true,结果肯定是true,只有两边都为fal…
正文 位运算 JavaScript 中最臭名昭著的 Bug 就是 0.1 + 0.2 !== 0.3,因为精度的问题,导致所有的浮点运算都是不安全的,具体原因可详见<0.1 + 0.2不等于0.3?为什么JavaScript有这种"骚"操作?>. 因此,之前有大牛提出,不要在 JS 中使用位运算: Javascript 完全套用了 Java 的位运算符,包括按位与&.按位或|.按位异或^.按位非~.左移<<.带符号的右移>>和用0补足的右移&…
swift:高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和Objective-C中的位运算符和移位运算. 不同于C语言中的数值计算,Swift的数值计算默认是不可溢出的.溢出行为会被捕获并报告为错误.你是故意的?好吧,你可以使用Swift为你准备的另一套默认允许溢出的数值运算符,如可溢出加&+.所有允许溢出的运算符都是以&开始的. 自定义的结构,类和…
方案二:利用Java位运算符,完成Unsigned转换. 正常情况下,Java提供的数据类型是有符号signed类型的,可以通过位运算的方式得到它们相对应的无符号值,参见几个方法中的代码: public int getUnsignedByte (byte data){ //将data字节型数据转换为0~255 (0xFF 即BYTE). return data&0x0FF; } public int getUnsignedByte (short data){ //将data字节型数据转换为0~6…
JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=  <  <= 逻辑运算符(6):&&  ||  !  ^  &  | 位运算符(7):&  |  ~  ^  >>  <<  >>>: Java基本数据类型: 数值类型: 整型:byte.short.int.long 非整型:d…
Java 逻辑运算符.位运算符.移位操作符  总结     作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为假的时候,结果为假.如果存在一个是假的,结果都为假的. 2.或(|) 特点:两个都为真的时候,结果为真.两个都为假的时候都是假的.如果存在一个是真的,结果都为真的. 3.异或(^) 特点:异,表示不一样的意思.所以两个判断都是一样的情况下,结果为假.两个判断结果都是不一样的情况下,结果为真的. 4.非(!)…
请关注我的博客:www.taomaipin.com 家里有急事 暂停了几天,抱歉,现在呢开始说说java的运算语句和运算符 如果想利用java的运算语句 那么就离不开java的运算符,前面第九章讲了java的算术运算符,那么现在咱们说说java的逻辑运算符.特别强调一下 我在这里说的是逻辑运算符而不是位运算符,至于什么是位运算符 我后面章节在说. java的逻辑运算符包括与.或.非,那么咱们说说这四种逻辑运算符以及在运算语句的使用. 第一:与(&&) 先看下面代码 public class…
一.java注释 1.单行注释  //注释内容 2.多行注释 /*注释内容*/ 3.文档注释(可用javadoc工具生成api文档,不过我还没试过)/**文档注释*/,文档注释可以在使用的时候看见注释. 文档注释常用的标记 @auther作者 @version版本 @deprecated 不推荐使用 @param 本放的参数 @return 返回值 @throws异常,同@exception 二.java的命名 1.项目名 字母全部小写 2.包名 全部小写 3.类名 首字母大写加驼峰 4.方法名…
JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都是很痛苦的事情,但是程序之路这么长,你必须精通的不能再精通一门语言才行(有点说大了哈),但是最起码你要如鱼得水吧,我准备的资料有: JAVA编程思想 深入浅出JAVA 黑马,传智,慕课,极客学院等-的视频 Google搜索 我们既然是重新学一遍,那我们尽量就是用记事本去敲代码好了,这里我用notep…
先给出十转二的除法 2       60 30       0 15 0 7 1 3 1 1  1 0  1 60转二 111100 再介绍位运算符 a=60 b=13 A = 0011 1100 B = 0000 1101-----------------A&b = 0000 1100A | B = 0011 1101A ^ B = 0011 0001~A= 1100 0011 A<<2=240 A>>2=60 >>>是右移补零操作符 其中取反运算符就是…
在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率. 位运算符,这个”位”代表这什么? 位:二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用1或 0表示,是具有相等概率的两种状态中的一种.二进制位的位数可表示一个机器字的字长,一个二进制位包含的信息量称为一比特.摘自百度百科 int类型占4个字节(byte); 一个字节=8bit(位); 一个int类型的数值占32bit(位) int i = 123;10进制123转为二进制后等于:111101…