C語言
short,long 用於限定整數類型,如:short int n;long int m;在此類變量聲明中,int可以省略:short n ;long m;引入這兩個限定符的目的是為了提供不同長度的整數。在不同的軟硬件環境下,int,short,long的長度可能不一樣,但可以確定的是16(位)<=short<=int<=long, long>=32(位)
- signed,unsigned用於限定char或int。分別表示有符號char/int和無符號char/int。
- long還可以用於限定double(C99標准),其大小也和實現有關
- C99標准中引進了long long int
變量的長度(VC6環境下)
- char 8 (bit)
- short 16
- int 32 通常同具體的機器長度相同
- long 32
- float 32
- double 64
變量的范圍(VC6環境下)
- signed char -128~127
- unsigned char 0~255
- signed short -32768~32767
- unsigned short 0~0xffff
- signed int (-2147483647 - 1)~2147483647
- unsigned int 0~0xffffffff
- signed long (-2147483647L - 1)~2147483647
- unsigned long 0~0xffffffffUL
- float 1.175494351e-38F /* min positive value */
3.402823466e+38F /* max value */ - double 3.3621031431120935063e-4932L /* min positive value */
1.189731495357231765e+4932L /* max value */
****
結構體默認對其參數為默認為8,不到8或者不是4的整數倍時,補空字節。8的整數倍性能會高很多
======================================================================
- C++數據類型長度問題:
一、字節和字長
字節,八位就是一個字節,是固定概念。字長是指計算機一次能處理的二進制數據的長度,是一個非固定的概念。例如,8位計算機的字長為8,即一個字節, 32位計算機的字長位32,即4個字節,同理,64位計算機的字長為64,即8字節。
二、C++中的數據類型
1、字符型數據char,該類型始終是一個字節長,即8位。
2、整形int、短整型short和長整形long。通常int為一個字長,short為半個字長,long為一個或2個字長(在32位機器中為一個字長)。
3、浮點型float、雙精度double、和長雙精度long double,分別表示單精度浮點數 雙精度浮點數和擴展精度的浮點數值。典型情況下,float 為一個字,double是兩個字,long double為三個或四個字。
======================================================================
JAVA語言
基本型別 | 大小 | 最小值 | 最大值 |
boolean | ----- | ----- | ------ |
char | 16-bit | Unicode 0 | Unicode 2^16-1 |
byte | 8-bit | -128 | +127 |
short | 16-bit | -2^15 | +2^15-1 |
int | 32-bit | -2^31 | +2^31-1 |
long | 64-bit | -2^63 | +2^63-1 |
float | 32-bit | IEEE754 | IEEE754 |
double | 64-bit | IEEE754 | IEEE754 |
void |