解决方案 »
- 真想不通这个小代码为什么出错,关于Class
- 数据月增量10w行的项目,能用普通的架构吗?
- JComboBox 事件 怎么只由最开始和最终选中的值来变化,中间过程不变
- 有关IndexOutOfBoundException的问题
- 求助
- 请教:一个字符移位算法?
- J2SE下怎样访问计算机端口?
- 怎么连接不上mysql数据库?
- 有两个窗体类Frame1和Frame2,在Frame1中的某个事件中创建并初始化了Frame2(实例名为myframe2),在运行的时候发现有两个Frame2的窗体出现
- vb有对象浏览器,请问java那个开发环境有相似啊。
- Java Swing表格中点击右键时保留左键选中的表格
- 求大神解答下一个小小的问题,本人刚刚开始自学
如果非要是-32720,那说明0xffd0是原码,而不是计算机用的补码,不能用常规方法转
int i=0xffd0;
int s;
if (i>0x7fff) {
s=-(i-0x8000);
} else {
s=i;
}
System.out.println(s);
}
int i=0xffd0;
short s;
if (i>0x7fff) {
s=(short)-(i-0x8000);
} else {
s=(short)i;
}
System.out.println(s);
}
public static short getSignedShort(byte[] bytes) {
short s = 0;
if((bytes[1] & 0x80) == 0x80 ) //判断符号位是否为负数
s = (short) -((0xff & bytes[0]) | (0x7f00 & (bytes[1] << 8)));
else
s = (short) ((0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)));
return s;
}