Fórum Hexdecimal para Binario #276867
12/04/2005
0
para binario. Eu vi alguma coisa como uma função HexToBin,
mas não consegui executa la. Ex. Tenho no edit1 3FFF resultado
no Edit2 em Binario.
Grato
Juarez
Juarezber
Curtir tópico
+ 0Posts
12/04/2005
Khundalini
HexToBin() e BinToHex() são mencionados no help do Delphi, mas poucas pessoas sabem que essas rotinas estão lá! Mas, como eu costumo dizer, quem procura, acha! HEHE! ;-)
Coloca três labels (Label1, Label2 e Label3) e um botão (Button1) e no código do evento OnClick do botão, usa o seguinte código:
procedure TForm1.Button1Click(Sender: TObject);
var
E: Extended;
Buf: array[0..SizeOf(Extended) * 2] of Char;
begin
E := Pi;
Label1.Caption := Format(´E tem o valor ¬.15f´, [E]);
BinToHex(@E, Buf, SizeOf(E));
Buf[SizeOf(Buf) - 1] := #0;
Label2.Caption := Format(´Como texto, o conteúdo em binário de E é algo como ¬s´, [Buf]);
HexToBin(Buf, @E, SizeOf(Buf) - 1);
Label3.Caption := Format(´Volta de texto pra binário, E is now ¬.15f´, [E]);
end;
[]s
Rubem Rocha
Manaus, AM
Gostei + 0
13/04/2005
Kapak
Gostei + 0
13/04/2005
Juarezber
Binario. Ex: 3FFF em Hexadecimal é = Binario 11111111111111,
3FF em Hexadecimal é = Binario 11111111111110, 3FF em Hexadecimal é = Binario 111111111111101. Se mais alguem tambem quiser responder
fico agradecido.
juarezber@terra.com.br
Gostei + 0
13/04/2005
Kapak
var i,j,l:Integer; p:Pchar; b:Byte; begin if Length(Edit1.Text) mod 2 > 0 then Edit1.Text := ´0´ + Edit1.Text; l := Length(Edit1.Text) div 2; p := AllocMem(l); HexToBin(PChar(Edit1.Text), p, l); for i := 1 to l do for j := 7 downto 0 do begin b := 1 shl j; if (Ord((p+i-1)^) and b) > 0 then Edit2.Text := Edit2.Text + ´1´ else Edit2.Text := Edit2.Text + ´0´; end; Edit2.Text := Copy(Edit2.Text, Pos(´1´,Edit2.Text), Length(Edit2.Text)); FreeMem(p); end;
Gostei + 0
13/04/2005
Juarezber
juarezber@terra.com.br
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)