1. 程式人生 > >< 基本功>short與Unsigned short以及Java基本型別

< 基本功>short與Unsigned short以及Java基本型別

  1. C和C++中:
    short兩個位元組長度,其中符號位佔了一位。所以實際數值位數是15位。取值範圍為:-32768~+32768。
    unsigned short沒有符號位,所以實質數值位數是16位。取值範圍:0~65536。
  2. Java中的基本型別都是有符號型別,也就是數值型別都有正負號。所佔位數,不隨硬體變化。其基本資料型別大小如下:
    char 2個位元組,16位;
    byte 1個位元組, 8位;
    short 2個位元組,16位;
    int 4個位元組,32位;
    long 8個位元組,64位;
    float 4個位元組,32位;
    double 8個位元組,64位;
    以上基本型別都有一位符號位。
  3. 互轉操作:
    Java讀取有符號型別:
    int readUnsignedShort () //從流中讀取一個0~65535(0xFFFF)的雙位元組資料,並以int資料型別的資料返回。返回的資料相當於C/C++語言中所謂的“WORD”, 並且是以“低地址低位元組”的方式返回的,所以程式設計師不需要額外的轉換。
    Java有符號型別轉無符號型別:
    public int getUnsignedShort(short data){ //將data位元組型資料轉換為0~65535 (0xFFFF 即 WORD)。
    return data&0x0FFFF ;
    }