En
lenguaje C no existen datos de tipos subrangos, ya que, el programador
no puede definir tipos de datos subrango en este lenguaje. No obstante,
otros lenguajes
de programación sí permiten definirlos
y, por esta razón, es conveniente estudiarlos brevemente.
Un dato de un tipo
subrango es
aquel que puede tomar por valor uno de los pertenecientes a un subrango
definido por el programador. Por ejemplo, suponiendo que el ordenador
(utilizando dieciséis bits) puede
representar el siguiente conjunto de valores enteros:
{ -32768, -32767, ..., -1, 0, 1, ..., 32766, 32767 }
Los valores mínimo y máximo de ese rango son los
números -32768
y 32767,
respectivamente. Pues bien, un subrango es un subconjunto de valores de
un rango.
Ejemplo
1: Del rango { -32768, ..., 0, ..., 32767 } posibles
subrangos son:
{ 1,
2,
3,
4,
5,
6
}
{ 0,
1,
2,
..., 8, 9, 10 }
{ -10,
-9,
-8,
-7
}
{ -3,
-2,
-1,
..., 5, 6, 7 }
{ 1240,
1241,
1243,
..., 2999, 3000, 3001 }
Ejemplo
2: Sin embargo, al rango { -32768, ..., 0, ..., 32767 } no
pertenecen los siguientes subrangos:
{ 0,
1,
2,
... 34998, 34999, 35000 }
{ -50000,
-49999,
-49998,
..., 49998,
49999,
50000
}
Como se puede observar, el conjunto de valores de un subrango
también está comprendido entre un valor
mínimo y
un valor máximo. Además, en el subrango tienen
que estar
todos los elementos que están en el rango entre ambos
valores.
Ejemplo
3: Así pues, del
rango { -32768,
..., 0,
..., 32767
}, los siguientes conjuntos no pueden ser considerados como subrangos:
{ 2,
4,
6,
8,
10
}
{ 1,
2,
4,
8,
16,
32
}
Todos los datos de tipos subrangos son ordinales, es decir,
sólo pueden tomar por valor elementos de subrangos finitos.
|