-
原码是直接转换成二进制的数码 反码是原码取反 补码是反码加一查看全部
-
二进制运算:与 或 异或 取反,需要掌握的也就是什么时候用哪种运算可以取得最快的运算速度,可以用来替换常用的数学运算查看全部
-
JAVA中二进制用的多吗:
平时开发中“进制转换”和“位操作”用的不多,Java处理的是高层;
在跨平台中用的较多,如:文件读写,数据通信(客户机(java)——0.1进制——服务器(C))。基本类型:
int型数据类型:byte(8bit -128~127)1 short(16bit)2 int(32bit)4 long(64bit)8字节
float数据类型:单精度(32bit float)4字节 双精度(64bit double)
boolean类型变量的取值:true false 1bit
char数据类型:Unicode字符,16位 2字节
对应的类类型:Byte Short Integer Long Float Double Boolean Character数据类型转换字节:
1.大小端:小端法:低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端
大端法:高位字节排放在内存的低地址端即该位置的起始地址,低位字节排放在内存的高地址端
2.字符串->字节数组:String s ; byte [] bs = s.getBytes();
字节数组->字符串:byte[] bs = new byte[int]; String s = new String(bs); 或String s = new String(bs,encode); //encode指编码方式:gb2312, utf8总结:
1.了解进制的由来
2.了解JDK内置的进制转换方法
3.掌握位运算操作及用途
4.掌握JAVA中如何用字节表示类型数据查看全部 -
java内置的进制转换
查看全部 -
一个数据对另一个数据位异或两次,该数本身不变。
int a = 10;
int b = 20;
System.out.println(a^b^b); //10
System.out.println(a^b^a); //20
交换a、b的值
int a = 10;
int b = 20;
a = a ^ b;
b = a ^ b; //a ^ b ^ b = a
a = a ^ b; //a ^ b ^ a = b
查看全部 -
二进制运算符:&与运算 |或运算 ^异或运算 ~反码 <<左移 >>右移 >>>无符号右移
优点:
特定情况下,计算方便,速度快,被支持面广
如果用算数方法,速度慢,逻辑复杂1.与运算的特殊用法:清零。二进制全为0,与一个全为0的数值按位与即可。
2.或运算的特殊用法:对一个数据的某些位 置1
3.异或运算^: 两个相应位为“异”,则该位置为1,否则为0
特殊用法:
1.使特定位翻转:找一个数,对应X要翻转的各位,该数的对应位为1,其余位为0,此数与X对应位异或即可。
2.保留原值:与0相异或,保留原值。
3.用位异或运算来实现,也是效率最高。4.取反运算:对一个二进制按位取反,0.1互换
5.左移运算:将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0);
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以26.右移运算:将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。操作时每右移一位,相当于该数除以2
左补0 or 补1 得看被移数是正还是负。7.无符号位右移运算:各个位向右移指定的位数。右移后左边空出来的位用零来填充,移出右边的位被丢弃。
原码:一个整数按照绝对值大小转换成的二进制数称为原码
反码:将二进制数按位取反,所得的新二进制数成为原二进制数的反码。
补码:反码+1称为补码查看全部 -
看到运算查看全部
-
异或运算应用——两个变量交换值的方法
查看全部 -
异或运算 ^
查看全部 -
按位或 |
查看全部 -
按位与 &
查看全部 -
二进制位运算
查看全部 -
负数以其正值的补码形式
查看全部 -
无符号右移运算
查看全部 -
右移运算符
查看全部
举报