Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   bits de un char (https://www.clubdelphi.com/foros/showthread.php?t=44676)

mauqu 12-06-2007 16:42:53

bits de un char
 
Estimados, es posible leer los bits de un char uno a uno ?

gracias

Mau

Mick 12-06-2007 17:17:40

Si, con algo parecido a esto:

Código:


var
 i:integer;
 car:char;
 asc:integer;
begin
  car:= 'A';
  asc:= ord(car);
  for i:=7 downto 0 do begin
      if  (asc AND 1)=1
      then  ShowMessage('El Uno')
      else  ShowMessage('El Cero');
      asc:= asc SHR 1;
  end;
end;

Saludos

cHackAll 12-06-2007 22:30:16

Ok
 
Lo de Mick es es la idea, pero les dejo una funcion un poco mas útil para estos casos:

Código Delphi [-]
function IntToBin(Value, Digits: Cardinal): string;
var Bit: Cardinal;
begin
 Bit := 1;
 while Digits <> 0 do
  begin
   Result := Char(Byte((Value and Bit) <> 0) + Ord('0')) + Result;
   Bit := Bit shl 1;
   Dec(Digits);
  end;
end;

El modo de empleo es identico al de la funcion IntToHex de la unidad SysUtils, y para obtenerlo de un char, simplemente haces algo como ésto:

Código Delphi [-]
 Caption := IntToBin(Byte('@'), 8);

Espero les sirva, saludos!


La franja horaria es GMT +2. Ahora son las 12:44:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi