Java byte 位移操作 注意事项
作者:网络转载 发布时间:[ 2014/2/24 10:40:06 ] 推荐标签:测试技术 开发
5 关于System.out.println();
byte b = (byte)0xf8;
System.out.println(b); --终输出为-8
运算步骤为:
b 转化为int 1111 1000 转化为 11111111 11111111 11111111 11111000
取符号位 - -1111111 11111111 11111111 11111000
取返+1(因为是按补码运算) -0000000 00000000 00000000 00001000
输出 -8
终结论:
1 区分使用 >> 和 >>>
2 在 >> 操作前要首先 & 0xff
3 注意符号优先级,正确使用括号。
4 需要强烈注意的一点是 & 的优先级小于 + . 因此 a = b & 0xff + 2000 的结果 可能不是你想要的
附:
打印byte,int 每个bit值的函数。
|
public static void printByte(byte b){
for(int i = 7; i >=0 ; i --){
int shiftleft = (b >> i) & 0x01;
System.out.print(shiftleft);
}
System.out.println();
}
public static void printInt(int b){
for(int i = 31; i >=0 ; i --){
int shiftleft = (b >> i) & 0x01;
System.out.print(shiftleft);
}
System.out.println();
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com