private void casting(String tipoIn) throws Exception {
		op1 = pila.pop();
		if (tipoIn.equals("natural")||tipoIn.equals("integer")||tipoIn.equals("float"))
			//si a es char -> dar unicode del char
			if (op1.getTipo().equals("character")&& !tipoIn.equals("float")){
				int valor = (int)((char)op1.getValor().toString().charAt(0));
				pila.push(new Elem(tipoIn, valor));	
			} else if (tipoIn.equals("float"))
				pila.push(new Elem(tipoIn, (double)((char)op1.getValor().toString().charAt(0))));
			else {
				pila.push(new Elem(tipoIn, (int) Double.parseDouble(op1.getValor().toString())));
			}
		else if (tipoIn.equals("boolean"))
			pila.push(new Elem(tipoIn, Boolean.parseBoolean(op1.getValor().toString())));
		else if (tipoIn.equals("character")){
			//si casting a char -> dar caracter correspondiente al natural
			if (op1.getTipo().equals("natural")){
				pila.push(new Elem(tipoIn, (char)Integer.parseInt(op1.getValor().toString())));
			} else {
				pila.push(new Elem(tipoIn, op1.getValor().toString()));
			}
		}
	}