short与Unsigned short以及Java基本类型

C和C++中: 
short两个字节长度,其中符号位占了一位。所以实际数值位数是15位。取值范围为:-32768~+32768。 
unsigned short没有符号位,所以实质数值位数是16位。取值范围:0~65536。
Java中的基本类型都是有符号类型,也就是数值类型都有正负号。所占位数,不随硬件变化。其基本数据类型大小如下: 
char 2个字节,16位; 
byte 1个字节, 8位; 
short 2个字节,16位; 
int 4个字节,32位; 
long 8个字节,64位; 
float 4个字节,32位; 
double 8个字节,64位; 
以上基本类型都有一位符号位。
互转操作: 
Java读取有符号类型: 
int readUnsignedShort () //从流中读取一个0~65535(0xFFFF)的双字节数据,并以int数据类型的数据返回。返回的数据相当于C/C++语言中所谓的“WORD”, 并且是以“低地址低字节”的方式返回的,所以程序员不需要额外的转换。 
Java有符号类型转无符号类型: 
public int getUnsignedShort(short data){ //将data字节型数据转换为0~65535 (0xFFFF 即 WORD)。 
return data&0x0FFFF ; 
}

转载:

https://blog.csdn.net/Ashelyhss/article/details/46691393 

你可能感兴趣的:(Java拓展)