GARANTIR DESCONTO

Fórum Converte Binário em texto #222928

28/03/2004

0

Olá,

tenho uma sequencia em binário (com 8 bits) e precisava saber se o delphi tem alguma função que leia essa sequência e retorne qual o caracter (ou letra) correspondente. Será que alguém pode me ajudar?

Muito obrigada.


Meleniepp

Meleniepp

Responder

Posts

28/03/2004

Beppe

Olá, tenho uma sequencia em binário (com 8 bits) e precisava saber se o delphi tem alguma função que leia essa sequência e retorne qual o caracter (ou letra) correspondente. Será que alguém pode me ajudar? Muito obrigada.


Acho que seria Chr, né?

var
  B: Byte;
  Ch: Char;
begin
  B := 65;
  Ch := Chr(B);
  ShowMessage(Ch);
end;



Responder

Gostei + 0

28/03/2004

Aroldo Zanela

Colega,

Existem várias formas de se implementar isso, neste exemplo, o método Execute contém a implementação da rotina:

Criação da classe:
  TNumerosBase = Class
    Binario: String;
    Inteiro: Int64;
    Caracter: Char;
    procedure Clear;
    procedure Execute;
  end;


Implementação dos métodos:

procedure TNumerosBase.Clear;
begin
  Binario := ´´;
  Inteiro := 0;
  Caracter := Char(32);
end;

procedure TNumerosBase.Execute;
var nI: integer;
    nValor: Double;
begin
  nValor:=0;
  for nI:= Length(Binario) downto 1 do
    if Binario[nI] = ´1´ then
      nValor := nValor + Power(2,Length(Binario)-nI);
  Inteiro := Trunc(nValor);
  Caracter  := Chr(Inteiro);

end;


Utilizando no formulário:

procedure TForm1.Button1Click(Sender: TObject);
begin

  With TNumerosBase.Create do
  begin

    Binario := ´1100100´;
    Execute;
    ShowMessage( Caracter + #13 + IntToStr(Inteiro));
    
    Binario := ´11010´;
    Execute;
    ShowMessage( Caracter + 13 + IntToStr(Inteiro));

    Binario := ´1001´;
    Execute;
    ShowMessage( Caracter + 13 + IntToStr(Inteiro));

    Binario := ´11100001´;
    Execute;
    ShowMessage( Caracter + 13 + IntToStr(Inteiro));

    Free;

  end;

end;


A propósito, não esqueça de declarar Math na lista de uses para poder utilizar a função Power (Potência).

Obs: Os testes acima podem ser confirmados aqui (veja no rodapé da página): http://www.terra.com.br/matematica/arq1-24.htm


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar