Newsgroup: it.comp.lang.delphi
Titolo: Variabili binarie

Come faccio a riempire una variabile con il valore binario che mi interessa.
a:=1010101 (in binario) ??
Grazie, McK
PS Per spiegarmi meglio in hex si mette il dollaro davanti al numero per
identificare che quello che sto scrivendo è un esadecimale.

 a:=1010101 (in binario) ??
a := 1010101B;
Per scrivere un numero binario, si mette una B dopo il numero, per un numero
ottale, si mette una O dopo il numero, per un esadecimale, si mette una H
dopo il numero oppure un $ davanti.
Bye.
--
Secondo postulato di Troutman:
Se il programma e' stato concepito in modo tale che i dati
errati siano rifiutati, ci sara' sempre un idiota abbastanza
ingegnoso da trovare il metodo di farli passare.
(*
     You labeled me, I'll label you
     So I dub thee Unforgiven.
*)

 ha scritto nel messaggio
news:9b6et1$tgh$1...@pegasus.tiscalinet.it...


ottale, si mette una O dopo il numero, per un esadecimale, si mette una H
^^^^^^^^^^^^^^^
Sei sicuro? Non mi risulta.
Massimo.
-- 
"Ciao Rex, che cavolo di situazione eh? Due dentro, due fuori, puo' succedere di tutto!"

oppure un $ davanti.
Questo e' giusto.

 Non credo che esista le forme coi suffissi "H", "O", "B" eccetera...
Hai ragione, mi sono confuso con l'assembler :-)
Il pascal supporta solo il tipo esadecimale.


io lo faccio in assembler
asm
  mov variabile, valore in binario
end;
--
Consonni Davide
DavideC...@Virgilio.it
webmaster of
http://www.traduzioniellepi.com

 ha scritto nel messaggio
news:9b7cd5$846$1...@pegasus.tiscalinet.it...


 ha scritto nel messaggio
news:VZ3B6.15956$r67.3...@news2.tin.it...

Se il valore e' costante lo converti in hex.
Se e' una stringa mi pare esista una funzione di conversione (tipo la
HexToInt), altrimenti non e' troppo complesso costruirsela...
Ciao,
Stefano

ma ha parlato di binario, mica esadecimale ...


HexToInt), altrimenti non e' troppo complesso costruirsela...
function HexToInt(HexStr: String) : Integer ;
begin
  Result := StrToInt('$' + HexStr) ;
end;


E' la prima soluzione che mi viene in mente...
var MioNumBinario : Byte;
asm
  Mov Byte Ptr( MioNumBinario ), 100010011011b
end;
Se qualcuno ha un'idea migliore si faccia avanti... :=)
--
Andrea Raimondi
----------------------------------------
Redattore corso di Delphi
di  Software Planet
www.softwareplanet.net


 identificare che quello che sto scrivendo è un esadecimale.
mah!, a quest'oggi gia' avrai risolto
cmq eccoti qualcosa che avrebbe potuto
fare al caso tuo
{
 il numero di digits viene ignorato se e' inferiore
 ai caratteri necessari per la rappresentazione binaria
}
function IntToBin(Num: LongInt; Digits: Integer): string;
var
 i: Integer;
begin
 Result:='';
 for i:= 31 downto 0 do
  if Num and (1 shl i)=0 then Result:=Result + '0'
  else Result:=Result + '1';
 while (Result[1]='0') and (length(Result)> Digits) do
  Delete(Result,1,1);
end;
function BinToInt(S: String): LongInt;
var
 i: Integer;
begin
 Result:=0;
 while s[1]='0' do Delete(s,1,1);
 for i:=Length(S) downto 1
  do if s[i]='1' then
   Result:=Result+(1 shl (i));
end;
{
 nella funzione che segue  ho usato '&' come
 prefisso per i numeri binari in modo da
 poterla utilizzare al posto di StrToInt,
}
function StrToNum(s : string): longint;
begin
 if s[1]='&' then result := BinToInt(copy(s,2,length(s)-1))
 else Result := StrToInt(s);
end;