FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Cuántos bytes tiene un real?
Tras ver la asignatura de Estructura y Tecnología de Computadores (como ya sabeis en ella se ve a fondo el funcionamiento de un computador, nosotros más en concreto vimos el Motorola 68000) he comprendido del todo la razón de los tipos de datos Byte y Word de Pascal / Object Pascal, por ello me ha picado el gusanillo y he empezado a hacer esto:
Byte [0,255] => Como su nombre indica está formado por un byte (por tanto tenemos 8 bits para el número por lo que el número más alto será (2^8)-1 = 255). Word [0,65535] => Como su nombre tiene una longitud de una palabra, es decir, dos bytes (por tanto tenemos 16 bits para el número por lo que el número más alto será (2^16)-1 = 65535). Char [0,255] => Por lo que deduzco es un byte ya que un caracter ASCII ocupa un byte. Ejemplo: la letra A es el número 41 en hexadecimal, como 41 tiene dos cifras ocupa un byte. ShortInt [-128,127] => Por lo que deduzco es un byte (como hay signo un bit se usa para tal efecto con lo que tenemos 7 bits para el número por tanto el número más alto será (2^7)-1 = 127). Integer [-32768,32767] => Por lo que deduzco que está formado por dos bytes (como hay signo un bit se usa para tal efecto con lo que tenemos 15 bits para el número por tanto el número más alto será (2^15)-1 = 32767). LongInt [-2147483646,2147483647] => Por lo que deduzco que está formado por cuatro bytes (como hay signo un bit se usa para tal efecto con lo que tenemos 31 bits para el número por tanto el número más alto será (2^31)-1 = 2147483647). ¿Y el tipo de dato real? Este (y los demás que son en punto flotante) me descoloca, no se cuantos bytes tiene ni como expresar el número más alto de la forma 2^numero_bits - 1, lo único que se es que tiene este rango 1E-38 a 1E+38. No he trabajado con números decimales en ensamblador. Saludos. Última edición por kakarotv5 fecha: 16-06-2007 a las 01:52:22. |
#2
|
||||
|
||||
No te calientes la cabeza, la función Sizeof te devuelve el tamaño en bytes de cualquier variable, o tipo. Por ejemplo:
Y sino también puedes mirar la ayuda: Código:
Type Range digits Size in bytes Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6 Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4 Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 10 Según la tabla anterior el tamaño del record debería de ser de 5 bytes, pero sin embargo como veras en el mensaje es de 8. Esto es debido a la "optimización" que realiza el compilador. Y sin embargo: Ahora el record si que mide 5 bytes, curioso ¿verdad? |
#3
|
|||
|
|||
Muchas gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
cuantos domingos tiene un periodo | poliburro | Varios | 16 | 22-06-2007 17:59:02 |
Saber cuantos registros tiene un GridView | JuanErasmo | .NET | 1 | 02-01-2007 22:19:32 |
Cuantos Dias Tiene Un Mes ? | Pascual Montes | Varios | 6 | 09-12-2004 01:02:53 |
4 bytes a un entero | ssaavedra | Varios | 1 | 09-01-2004 21:12:11 |
Cuantos Bytes estoy enviando por FTP? | pinoxo | Internet | 4 | 27-06-2003 04:05:00 |
|