Segue abaixo os tipos e subtipos de dados  integer:

/*
 Tipo/Subtipo | Comprimento | Intervalo                                                   | Descrição
*/
int           | 32 bits     | "-2.147.483.648 a 2.147.483.647"                            | Inteiro com sinal
uint          | 32 bits     | "0 a 4.294.967.295"                                         | Inteiro sem sinal
byte          | 8  bits     | "0 a 255"                                                   | Inteiro sem sinal
sbyte         | 8  bits     | "-128 a 127"                                                | Inteiro com sinal
short         | 16 bits     | "-32.768 a 32.767"                                          | Inteiro curto com sinal
ushort        | 16 bits     | "0 a 65.535"                                                | Inteiro curto sem sinal
long          | 64 bits     | "-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807"    | Inteiro longo com sinal
ulong         | 64 bits     | "0 a 18.446.744.073.709.551.615"                            | Inteiro longo sem sinal

Tipos de ponto flutuante:
/*
 Tipo   | Comprimento   | Intervalo de Valores    | Precisão
*/
float   | 32 bits       | "1.5E^-45 a 3.4E^+38"   | "7 dígitos"
double  | 64 bits       | "5E^-324 a 1.7E^+308"   | "15 ou 16 dígitos"