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

Tengo un ejercicio que no pude resolver, tengo 3 rangos de memoria:

      First @      Last @ 

rango1: FD00 0000 a FDFF FFFF

rango2: D000 0000 a DFFF FFFF

rango 3: FA00 0000 a FBFF FFFF

la pregunta es: dar el tamaño de la memoria para cada rango (mega byte)?

lo que sé es que debo calcular el tamaño del rango = última dirección: la primera dirección, de modo que el resultado para el primer rango sea: 00FF FFFF. ¿Es esto correcto? ¿entonces, qué debería hacer? Busqué en internet no encontré un ejemplo

Por favor ayuda