@Override
  public StringBuilder encode(String mensagemAscii) {
    StringBuilder mensagemEmBinario = Utilidades.converteAsciiParaBinario(mensagemAscii);
    String auxiliar = StringUtils.rightPad("", polinomio.length() - 1, "0");

    StringBuilder restoDivisao =
        Utilidades.retornaRestoDivisaoBits(
            new StringBuilder(mensagemEmBinario + auxiliar), polinomio);

    return mensagemEmBinario.append(restoDivisao.substring(1, polinomio.length()));
  }
  @Override
  public String verificaErro(StringBuilder mensagemCodificada) {
    StringBuilder restoDivisao =
        Utilidades.retornaRestoDivisaoBits(new StringBuilder(mensagemCodificada), polinomio);
    int resultadoRestoDivisao = Integer.valueOf(restoDivisao.toString());

    if (resultadoRestoDivisao != 0) {
      return "Mensagem transmitida com erro";
    } else {
      return "Mensagem transmitida sem erro";
    }
  }