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 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章