Czesc, jak mozna zapisac liczbe dwojkowo w Delphi ? [glowa]
Wydawalo by sie ze tak bedzie dobrze 01010001b ale nie :(
Moze ktos to rozpracowal, czekam na pomoc, dzieki
Czesc, jak mozna zapisac liczbe dwojkowo w Delphi ? [glowa]
Wydawalo by sie ze tak bedzie dobrze 01010001b ale nie :(
Moze ktos to rozpracowal, czekam na pomoc, dzieki
Witam!
Jaką liczbę chcesz zamienić napisz, czy chodzi ci tylko o wzór?? [cya]
masz cos takiego jak Format, tam mozesz mu podać co chcesz i jak chcesz no +F1
Jeżeli chodzi ci o to żeby zamienić jakąś liczbe to masz procedurke:
procedure TForm1.ConvertClick(Sender: TObject);
var
x,e,i:integer;
s:string;
begin
val(edit1.Text,X,e); // to sprawdza czy to jest liczba
if e=0 then begin
s:='00000000'; i:=1;
for e:= 1 to 8 do begin
if (x and i)=i then s[9-e]:='1';
i:=2*i;
end;
label1.caption:=s;
end
else
showmessage('Wstaw liczbe całkowitą');
end;
Ale działają liczby od 0 do 255 - chyba!
Troche niejasno zadałem pytanie ale niechodzi mi o konwersje z dwójkowego na inny system lecz o sam zapis.
Np. liczbe hex zapisuje sie w delphi jako $2f, więc jak zapisać binarna aby kompilator wiedział ze ta liczba jest zapisana w postaci binarnej [???]
Jak wykonac tak podstawowe działanie jak
zmienna_typu_byte := zmienna_typu_byte and 01010011;
I tu jest problem bo niewiem czy Delphi w ogóle dopuszcza umieszczanie w
kodzie liczb w zapisie dwójkowym. [cya]
I tu jest problem bo niewiem czy Delphi w ogóle dopuszcza umieszczanie w
kodzie liczb w zapisie dwójkowym.
IMHO nie
jeśli chodzi o operacje logiczne to bez problemu możesz to robić na liczbach dziesiętnych z tym samym skutkiem co na dwójkowych.
Przykład :
1001 = 9
0110 = 6
9 or 5 = 15
15 = 1111
możesz bez problemu robić to na OR, XOR, AND a także SHL i SHR
A jezeli masz liczby dwojkowe to latwiej Ci bedzie przechodzic na zapis HEX, musisz tylko znac 16 kombinacji binarnych by przeksztalcic dowolna liczbe dwojkowa na heksadecymalna. Bierzesz 4 ostatnie bity i zamieniasz na cyfre z przedzialu 0 do f, pozniej kolejne 4 bity i zamieniasz, kolejne 4 bity ...... i juz!