-
二进制位运算查看全部
-
进制转换查看全部
-
唉,java坚持到现在,估计得去做前端了。暂时搁置这个路线了。这个笔记也没写完整。。。 二进制运算: 一、按位与 & 参与运算的两个数都是1,返回1,否则返回0. 它的特性决定两个特殊用法: 1、清零,将要清零的数与各位都是0的数进行按位与,返回肯定是0,达到清零目的 2、获取一个数中指定位,例:设X=10101110,取X的低4位,用X & 00001111 =00001110即可得到。利用的特性是0、1跟1进行按位与运算,结果都是本身。 二、按位或 | 只要有一个为1,结果就为1 特殊用法: 置1:想要将一个数某些位置为1,只需要将这个数与,对应位为1的数进行按位或运算。要置0,我们用与0进行按位与实现 //按位与 & (两位全为1 结果才是1,其他结果为0:0&0=0 0&1=0 1&0=0 1&1=1) System.out.println(10 & 4);//结果:0 1010 & 0100 = 0000(0) //按位或 | (只要有一个为1,结果就为1:0|0=0 0|1=1 1|0=1 1|1=1) System.out.println(22|10);//结果:30 10110 | 01010 = 11110(30) //异或运算 ^ (对象不同则为1,相同则为0:0^0=0 0^1=1 1^0=1 1^1=0) System.out.println(51 ^ 5);//结果:54 110011 ^ 000101 = 110110(54)查看全部
-
计算机进制有:二进制、八进制、十六进制 机制的基本特点是:每一位置上的数字必须在0-(进制-1)的范围内,也就是说二进制只能有0、1;八进制为:0-7;十六进制比较特殊为:0-9,A(10) B(11) C(12) D(13) E(14) F(15) 进制转换: 1、非十进制转换十进制:每位数字乘以进制数的权重次方,将所有位置上的结果进行求和即可。 进制的权重:一个数值,在每一位都有一个权重,权重为从右向左数,位数-1 根据上面的说法,进行转化: 举例:将二进制011转10进制为:从右向左,1*2的0次方+1*2的1一次方+0*2的2次方=3; 将八进制34转化成10进制:4*8的0次方+3*8的1次方=28 2、十进制转非十进制: 采用短除法: 用十进制数除以要转化的进制数,用本次除法的商继续进行除以要转化的进制数的除法运算,一直到商为0,保留每次除法的余数,将余数按照从后往前进行排序,即为最终转化后的数。 举例:将10进制100转化成八进制数: 十进制 100: 100/8(进制数) 商:12 余数 4 继续用上次的商12除以8:12/8 商:1 余数 4 继续用上次的商1除以8:1/8 商:0 余数 1 商为0,停止运算,将余数从后往前排序:144 得到最终转化后的八进制为144。 再举例:十进制100转十六进制: 100 111/16 商:6 余数:15 上次的商6除以16 6/16 商:0 余数:6 余数倒排:6E(十六进制中,15用E表示) 最终结果:6E查看全部
-
数据类型查看全部
-
java中的数据类型、各类型的字节数查看全部
-
十进制和(2、8、16进制)互转方法查看全部
-
左移运算<< 将一个运算对象的个二进制位全部左移若干位 左移的二进制位丢弃,右边补0 若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2查看全部
-
参考文献查看全部
-
public class Convert { //int转换为bute[] public static byte[] int2Bytes(int id){ byte[] arr =new byte[4]; for(int i=0;i<arr.length;i++){ arr[i]=(byte)((int)(id>>i*8)&0xff); } return arr; } //转换为byte[]int public static int bytes2Int(byte[] arr){ int result=0; for(int i=0;i<arr.length;i++){ result+=(int)((arr[i]&0xff)<<i*8); } return result; } public static void main(String[] args) { byte[] arr=Convert.int2Bytes(8143); System.out.println(arr[0]+","+arr[1]+","+arr[2]+","+arr[3]); System.out.println(Convert.bytes2Int(arr)); //字符串与字节数组 String describe="我每天都练功,我天下无敌"; byte[] barr=describe.getBytes(); String des=new String(barr); System.out.println(des); } }查看全部
-
字符串与字节转换查看全部
-
//十进制转换为其他进制 System.out.println(Integer.toBinaryString(112)); System.out.println(Integer.toHexString(112)); System.out.println(Integer.toOctalString(112)); //其他进制转换为十进制 System.out.println(Integer.parseInt("111001",2)); System.out.println(Integer.parseInt("27",8)); System.out.println(Integer.parseInt("A8",16));查看全部
-
JAVA内置的进制转换查看全部
-
按位异或实现两数交换查看全部
-
按位异或查看全部
举报
0/150
提交
取消