java中的左右移】的更多相关文章

package scanner; public class LeftMove { public static void main(String[] args) { int i = 1; System.out.println("i 右移两位:" + (i>>2) ); System.out.println("i 左移两位:" + (i<<2) ); for (int j = 0; j < 4; ++j) { int result = 1…
java移位运算符:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移规定的次数. 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位,0补最低位 如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模.如对int型移动33位,实际上只移动了332=1位. 2)运算规则 按二进制形式把所…
        很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进拉出,迭代遍历,蛮方便的.           也不知道从什么时候开始慢慢的代码中就经常会出现HashMap和HashSet之类的工具类.应该说HashMap比较多一些,而且还是面试经典题,平时也会多看看.开始用的时候简单理解就是个键值对应表,使用键来找数据比较方便.随后深入了解后发现这玩意还有点小…
(1)按位与运算 & 1 & 1 = 1, 0 & 1 = 0 51 & 5  即 0011  0011 & 0000  0101 =0000 0001 = 1: (2)按位或运算 |       1 | 0 = 1,1|1 =1,  0|0 =0       51 | 5 即 0011  0011 | 0000  0101 =0011  0111 =55:   (3)异或运算 ^ 1 ^ 1 = 0,1 ^ 0 = 1   ,0^ 0 = 0(两个位的值不同,则结…
Java中的二进制及基本的位运算 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世纪德国数理哲学大师莱布尼兹发现.当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的.计算机中的二进制则是一个非常微小的开关,用"开"来表示1,"关"来表示0. 那么Java中的二进制又是怎么样的呢?让我们一起来揭开它神…
在程序设计中,运算符应用得十分广泛,通过运算符可以将两个变量进行任意运算.数学中的"+"."-"."*"."/"运算符同样也适用于Java语言.除了这些算术运算符外,Java中还包含有关系运算符.逻辑运算符.位运算符等,本节将向大家详细介绍这些运算符. 1.算术运算符 在数学运算中最常见的就是加减乘除,被称作四则运算.Java中的算术运算符就是用来处理四则运算的符号,,, 序号                    运算符  …
1byte(字节)=8bit(比特) 1 0 0 0 0 0 0 0 1   2进制的1的原码 反码 补码 0 0 0 0 0 0 0 0   2进制的0的原码 反码 补码 -1 1 0 0 0 0 0 0 1 计算机中真正参与运算的是  补码! 在java中所有的数字都是有符号的!  符号就是  正 0   负 1 最高位(最左边的)的 0和1 就是 符号位 什么是最高位? 就是最左边的数字! java中最小的单位是 byte(字节) 生活中我们买了一个50G的内存条! 插入到我们的电脑中 有…
整理一下常用的又基础的算法.由于平时的项目比较简单,很少用到算法,但工作不只是眼前的苟且,还有诗和远方. 1.链表 链表用来存储数据,由一系列的结点组成.这些结点的物理地址不一定是连续的,即可能连续,也可能不连续,但链表里的结点是有序的.一个结点由数据的值和下一个数据的地址组成.一个链表内的数据类型可以是多种多样的.数组也是用来存储数据的,与链表相比,需要初始化时确定长度.一个数组内的数据都是同一类型.在Java中,ArrayList是通过数组实现,而LinkedList则通过链表实现.一个简单…
java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L).即byte用十六进制表示只占2位. 同理,相反的转换也是将两个16进制字符转换成一个byte,原理同上. 根据以上原理,我们就可以将byte[] 数组转换为16进制字符串了,当…
位运算指的是针对整数的二进制进行的位移操作. 位运算提供比算术运算更高的效率,但是位运算的代码可读性较差,建议所有使用位运算的地方写上注释. Java中提供7个位运算符用于位运算. 左移(<<) 左移运算是将操作数二进制值逐位左移若干位,左移过程中符号位不变,高位溢出则舍弃,低位则补0. 范例 结果 范例 结果 00000001<<2 00000100 10000001<<2 10000100 01100001<<2 00000100 11100001<…