< 基本功>short與Unsigned short以及Java基本型別
阿新 • • 發佈:2019-02-15
- 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 ;
}