这是结合MSB和LSB的代码
public class HelloWorld{
public void combineMsbLsbByte(){
System.out.println("Hello World");
byte msb = 0xC8;
byte lsb = 0x01;
int result = (msb << 8) + lsb;
System.out.println("Result ="+result);
}
}
但我在下面遇到错误
错误:不兼容的类型:可能从int到字节的有损转换 字节MSB = 0xC8;
我猜这是由于字节范围而引起的。
如何处理?
答案 0 :(得分:1)
byte
是一种签名类型。其值在-128到127的范围内,0xC8 (200)
不在此范围内
因此您应该像这样使用int
:
int msb =0xC8;
int lsb = 0x01;
int result =(msb << 8) + lsb;