private Elem compruebaFueraRango(String tipoResultado, Object valorResultado) throws Exception {
    	Elem resultado = new Elem(tipoResultado,valorResultado);
    	if (!tipoResultado.equals("boolean")&& !tipoResultado.equals("character")) {
    		double valorR = Double.parseDouble(valorResultado.toString()) ;
    		
	    	if(tipoResultado.equals("integer") || tipoResultado.equals("natural")){
				if (valorR > 2147483647||valorR < -2147483648)
					throw new Exception("Operación de enteros fuera de rango");
				resultado.setValor((int)valorR);
			}
			else if(tipoResultado.equals("float")){
				if (valorR > 3.40282347E+38F || valorR < -3.40282347E+38F)
					throw new Exception("Operación de reales fuera de rango");
				resultado.setValor((double)valorR);
			}
    	}
	    return resultado;
    }