Saltar al contenido

¿Cómo calcular el tamaño de la memoria dado un rango de direcciones?

Al fin después de tanto batallar pudimos encontrar el resultado de este atascamiento que algunos los lectores de este espacio han tenido. Si deseas aportar algo más no dudes en aportar tu comentario.

Solución:

En su ejemplo para el Rango 1, tiene razón. Ese es el tamaño de la memoria, expresado en hexadecimal, en bytes.

Puede obtener la mayor información si primero convierte 00FF FFFF en un número decimal y luego convierte esa cantidad de bytes en megabytes.

Para convertir de bytes a megabytes usa la relación

1 MB = 1 Megabyte = 1024 * 1 KB = 1,048,576 bytes.

Hay toneladas de convertidores hexadecimales a decimales en línea. La calculadora integrada en Windows también puede realizar la conversión.

Para los otros rangos, nuevamente desea hacer una resta para determinar el tamaño del rango y luego aplicar los pasos anteriores, por ejemplo

 FBFF FFFF
-
 FA00 0000
 ---------
 01FF FFFF

Habiendo seguido esos pasos para comprender mejor lo que está sucediendo, la siguiente relación le permitirá responder esas preguntas más rápido:

0010 0000 = 1,048,576

Entonces, 1 MB es lo mismo que 0010 0000 (a veces llamado 0x100000).

Lo siento, para responder una pregunta con otra pregunta/s…

¿La cantidad de direcciones disponibles dentro de un rango establecido no incluye también esos limitadores de rango?
por ejemplo (en decimal para ilustrar mi punto) con una dirección inicial de 5 y una dirección final de 10. Con la resta solo, es decir, la dirección final menos la dirección inicial (10-5), obtenemos un rango de 5. Pero en realidad hay seis direcciones únicas en el rango, es decir, 5,6,7,8,9,10 (entonces, ¿debemos sumar 1 al resultado de la resta en la pregunta original de Julie?)

También, tamaño de la dirección de memoria versus tamaño real de la memoria. ¿Estamos hablando de la cantidad de ubicaciones de memoria individuales o del tamaño de la memoria disponible para almacenar datos (que debe tener en cuenta el tamaño de cada ubicación)?

Si son solo ubicaciones de memoria, casi hemos terminado (creo que esto se conoce como tamaño de dirección de memoria). Solo tengo que resolver la parte MB de la pregunta (llegaré a ese tema al final)

Si es el espacio de almacenamiento disponible, esto debe incluir el tamaño de cada parte direccionable de la memoria, por ejemplo, cada ubicación de dirección contiene una porción de datos de tamaño desconocido. Digamos que si es 1 byte (1B) de datos por ubicación de memoria, mi ejemplo anterior significa que el tamaño de la memoria es: 6 (ubicaciones de memoria) multiplicado por 1 byte (volumen de cada ubicación de memoria) para un tamaño de memoria total de 6B

Entonces, según mi lógica, la respuesta a la pregunta original para el Rango 1 debe ser 01000000hex (rango 1 = FDFF FFFF-FD00 0000 + 1 = 01000000h).

En cuanto al tamaño de memoria de ese rango, aquí es donde realmente me confundo…. Es un número específico de ubicaciones de memoria, es decir, 1000000 h, de un tamaño indeterminado para cada ubicación. Entonces, ¿por qué expresarlo en MB o GB? Si conoce el tamaño de cada ubicación de memoria (y multiplica el número de ubicaciones por el tamaño de cada ubicación, entonces tiene el tamaño de memoria para ese rango y puede expresarlo en forma numérica.

Y mientras estamos en eso, lo que realmente me confunde es el uso de MB, GB, etc. A menudo se cita como cada prefix equivale a un múltiplo de 1024, por ejemplo, 1 KB = 1024 Bytes, 1 MB = 1024 kB, etc., pero la convención preferida de IEC se basa en el estándar ISO (según mi búsqueda en Google ahora) que dice Kilo (kB) = 1000, Mega (MB) = 1000000, etc. .

Entonces, dejando a un lado el tamaño desconocido de cada ubicación y convirtiendo 1000000h a decimal, es decir, 16,777,216, la respuesta es:

  • 16 MB (16777216/1024/1024=16) SOSPECHO QUE ESTA ES LA RESPUESTA QUE BUSCA EL PROFESOR
  • 16.777216MB (según los estándares ISO)
  • 16 mebibytes (según el estándar conjunto IEC/ISO – IEC 80000-13)

Por cierto, buscar en Google solo me educó (puede interpretarse como recientemente y parcialmente) sobre kibibytes y mebibytes… si está interesado, consulte https://en.wikipedia.org/wiki/Kilobyte

la ecuacion es

second_add - first_add + 1

ejemplo

fdff ffff - fd00 0000 + 1 = 0100 0000 = 2^24 = 2^4 * 2^20 = 16Mbyte [2^20 byte = 1 Mbyte] 

Te mostramos comentarios y puntuaciones

Eres capaz de defender nuestra tarea poniendo un comentario y puntuándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *