Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Tipos de Datos < int > y rango (https://www.clubdelphi.com/foros/showthread.php?t=65191)

BC++ 26-11-2009 15:43:43

Tipos de Datos < int > y rango
 
Hola Amigos del foro:

Hoy jugando con el Builder c++ , encontre quizas una cosa loca.

por lo que yo tenia presente y por lo que me habia enseñado un int
tiene capacidad(rango )-32.768 a 32.767.

la cosa viene que yo cargo una variable A

int A=100000;
y A efectivamente me toma este valor. ¿Cómo puede ser esto posible ? me tendria que dar basura,error...
se perfectamente q esto se puede solucionar con long int, pero la pregunta es si alguien sabe por que pasa esto. Por que quizas mi compilador no funcione bien?.

Es una curiosidad simplemente.. saludos!:)

BC++

Al González 26-11-2009 18:58:25

En Pascal y otros lenguajes existe un tipo de entero "genérico", que en Delphi lleva por nombre Integer.

El tamaño en bytes de este tipo de dato depende del sistema operativo para el que esté destinado el compilador.

Si tu compilador es para 16 bits (MS-DOS, Windows 3.1, etc.), el tipo entero genérico será de 2 bytes (16 bits, exacto para el rango que señalas). Pero en sistemas de 32 bits (como la mayoría de las versiones de Windows utilizadas actualmente), el tipo entero genérico es de 4 bytes, o sea, 32 bits, los cuales admiten un rango de -2147483648 a 2147483647.

Seguramente este último es el caso del tipo int del compilador de C++Builder para 32 bits.

Saludos.

Al González. :)

escafandra 26-11-2009 19:43:47

Al González te lo ha explicado brillantemente.

Añadir que un int en un sistema win32 es un DWORD pero con signo, de forma que un UINT es un DWORD (4 bytes == 32 bits)

Saludos.

BC++ 26-11-2009 20:22:30

Tipos de Datos < int > y rango
 
Amigos:
Mira que interesante!! eso no lo tenia en cuenta;) .Exacto en donde esta corriendo el Builder es en Xp 32. Lo voy a tener muy en cuenta si utilizo Linux.

Muchas gracias!:cool:

BC++

escafandra 26-11-2009 21:34:17

Cita:

Empezado por Al González (Mensaje 347531)
El tamaño en bytes de este tipo de dato depende del sistema operativo para el que esté destinado el compilador.

Como te indicó Al González no depende del sistema sólo sino del diseño del compilador...

Saludos.


La franja horaria es GMT +2. Ahora son las 08:07:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi