[C con Clase] Sobre el punto 'Tipos de variables I' del curso

User usuarioanonimomysql en gmail.com
Jue Mayo 3 09:21:27 CEST 2012


Pues sí, creía que por ejemplo short int y short eran dos cosas diferentes.
Ahora me queda claro ese aspecto.

Otra duda,

Imaginemos que mis datos de entrada son siempre enteros con un rango de - 6
a 12, podría usar un char para tratar esta información, pero aun así creo
que no sería óptimo. Digo creo, porque un char ocupa un byte y creo que
sería lo mínimo que podemos usar.

Como en C++ no hay ningún tipo de dato que vaya desde - 6 a 12, ¿podría
crear uno con ese rango de valores?

He pensado en algo como esto, pero no se si valdría para realizar
operaciones matemáticas:

enum entero_reducido {menos_6=-6, menos_5, menos_4, menos_3, menos_2,
menos_1, cero, uno_positivo, dos_positivo, tres_positivo, cuatro_positivo,
cinco_positivo, seis_positivo, siete_positivo, ocho_positivo,
nueve_positivo, diez_positivo, once_positivo, doce_positivo};

Saludos.

El 3 de mayo de 2012 03:17, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola User,
>
>
> On 5/2/2012 5:04 PM, User wrote:
>
>> Más dudas,
>>
>> El el capítulo pone: "podemos estar seguros de que el tamaño de un
>> short int es menor o igual que el de un int, y éste a su vez es menor
>> o igual que el de un long int" y también sobre long long [int] pone
>> "Como en los otros casos, su tamaño no está definido, pero sí sabemos
>> que será mayor o igual que el de long int"
>>
>> De esto deduzco lo siguiente:
>>
>> short int < int < long int < long long int
>>
>>
> Casi. El operador es <=; esto es,
>
> short int <= int <= long int <= long long int
>
> Y de hecho, tenemos más bien esto:
>
> char <= wchar_t <= short int <= int <= long int <= long long int
>
> donde 'char' ES 1 byte.
>
>
>  Pero no me queda claro entre qué tipo y qué tipo entran los tipos
>> short, long y long long, todos ellos sin llevar un int después, y
>> tampoco se qué diferencia hay entre estos y los que llevan un int
>> después.
>>
>>
> Creo que estás confundiendo estos vocablos de 'short', 'long', y 'long
> long'. No son diferentes tipos de enteros, sino que se pueden usar
> implícitamente con 'int'. Esto es,
>
> short n;
>
> es igual que:
>
> short int n;
>
> Asimismo,
>
> long n;
>
> es igual que:
>
> long int n;
>
> y,
>
> long long n;
>
> es igual que:
>
> long long int n;
>
> Lo mismo sucede con las "versiones" de 'unsigned'.
>
> Si te fijas en la sintaxis en el curso, verás que 'int' en estos casos es
> optativo:
>
> [signed|unsigned] [short|long] int
> <identificador>[,<identificador2>[,<identificador3>]...];
>
> [signed|unsigned] long [int]
> <identificador>[,<identificador2>[,<identificador3>]...];
> [signed|unsigned] short [int]
> <identificador>[,<identificador2>[,<identificador3>]...];
> [signed|unsigned] long long [int]
> <identificador>[,<identificador2>[,<identificador3>]...];
>
> Si escribes 'long', entonces no es necesario escribir 'int'
> posteriormente, ya que en este caso es implícito; y lo mismo sucede con
> 'short' y 'long long'.
>
>
> Espero haber aclarado la duda.
>
>
> Steven
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120503/2b8abbe5/attachment.html>


Más información sobre la lista de distribución Cconclase