Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dual Dezimal (https://www.delphipraxis.net/99597-dual-dezimal.html)

MasterTobi 14. Sep 2007 14:12


Dual Dezimal
 
hey @ all
wie kann ich eine DUAL Zahl in eine DEZIMAL zahl umwandeln?
Delphi-Quellcode:
 var a,b: Integer;
 dual: String;
begin
  dual := '';
  a:= StrToInt(edit1.Text);
  while a <> 0 do
  begin
    b:= a MOD 2; //ERST den Rest berechnen
    a:= a DIV 2; //DANN a halbieren
    dual:= IntToStr(b) + dual;
  end;
  edit2.Text := dual;
end;
das is der code für dezimal in dual
des müsst ja dann auch zurück gehen odeR?

mkinzler 14. Sep 2007 14:14

Re: Dual Dezimal
 
BinToDec()

MasterTobi 14. Sep 2007 14:17

Re: Dual Dezimal
 
habs grad ma in der hilfe gesucht aber da gibts nur bintohex

inherited 14. Sep 2007 14:18

Re: Dual Dezimal
 
Ich kann dir nur diese Seite empfehlen:
http://www.arndt-bruenner.de/mathe/s...lensysteme.htm
Da wird auch schön erklärt wie genau man das umrechnet.

mkinzler 14. Sep 2007 14:18

Re: Dual Dezimal
 
Delphi-Quellcode:
function BinToDec(s:string):int64;
var p:int64;
    i:integer;
begin
 p:=0;
 for i:=1 to length(s) do
   p:=p*2+ord(s[i])-ord('0');//s[i] must be '0' or '1'
 result:=p;
end;

MasterTobi 14. Sep 2007 14:25

Re: Dual Dezimal
 
ok bin wida zu blöd zu allem :wiejetzt:
ich müsst es ja noch ausgeben in z.b. edit1.text

mkinzler 14. Sep 2007 14:27

Re: Dual Dezimal
 
Delphi-Quellcode:
Edit1.Text := IntToStr( BinToDec( <Binärwert>));

MasterTobi 14. Sep 2007 14:32

Re: Dual Dezimal
 
Delphi-Quellcode:
Edit1.Text := IntToStr( BinToDec( <Binärwert>));
anstatt binärwert sollte ja eig die dezizahl kommen wenn ich eig auf button1 klicke aber er sagt fehler

DeddyH 14. Sep 2007 14:34

Re: Dual Dezimal
 
Lass Dir nicht alles aus der Nase ziehen. Was hast Du eingegeben und welcher Fehler kommt?

MasterTobi 14. Sep 2007 14:41

Re: Dual Dezimal
 
sry

Delphi-Quellcode:
function BinToDec(s:string):int64;
var p:int64;
    i:integer;
begin
p:=0;
for i:=1 to length(s) do
   p:=p*2+ord(s[i])-ord('0');//s[i] must be '0' or '1'
result:=p;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Edit1.Text := IntToStr( BinToDec( <Binärwert>));
wenn ich <Binärwert> lösch sagt er fehler wenn ich ihn drin lass auch

[Fehler] Unit2.pas(74): E2029 Ausdruck erwartet, aber '<' gefunden

mach ich es weg:
[Fehler] Unit2.pas(74): E2035 Nicht genügend wirkliche Parameter

mach ich eine 0:
[Fehler] Unit2.pas(74): E2010 Inkompatible Typen: 'string' und 'Integer'

bei '0' : geht es aber er zeigt dann nur 0

Reinhardtinho 14. Sep 2007 14:44

Re: Dual Dezimal
 
<Binärwert> ist hier doch nur ein Platzhalter, du musst natürlich den richtigen Binärwert als String übergeben.
ZB.'101010101010'.

MasterTobi 14. Sep 2007 14:52

Re: Dual Dezimal
 
meinst du das so
Delphi-Quellcode:
 var s:string;
begin
s:=inttostr (BinToDec (int64));

Reinhardtinho 14. Sep 2007 14:55

Re: Dual Dezimal
 
Eigentlich so:

Delphi-Quellcode:
var s:string;
begin
  s := IntToStr(BinToDec ('101010101010'));
end;

MasterTobi 14. Sep 2007 14:59

Re: Dual Dezimal
 
aso ja das hab ich auch schon probiert des geht ja.

ich hab grad nochma geschaut ich hab mich glaub net richtig ausgedrückt

also ich will in edit2.text eine dual zahl eingeben
un in edit1.text soll die dezi zahl stehen


Delphi-Quellcode:
function BinToDec(s:string):int64;
var p:int64;
    i:integer;
begin
p:=0;
for i:=1 to length(s) do
   p:=p*2+ord(s[i])-ord('0');//s[i] must be '0' or '1'
result:=p;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
edit1.Text := IntToStr( BinToDec (<binärcode>));
 end;
end.
anstatt <binärcode> muss ich ja irgendwie das result aus der function nehmen oder?

Die Muhkuh 14. Sep 2007 15:00

Re: Dual Dezimal
 
Delphi-Quellcode:
function BinToDec(s:string):int64;
var p:int64;
    i:integer;
begin
p:=0;
for i:=1 to length(s) do
   p:=p*2+ord(s[i])-ord('0');//s[i] must be '0' or '1'
result:=p;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
edit1.Text := IntToStr( BinToDec (Edit2.Text));
end;
end.

MasterTobi 14. Sep 2007 15:02

Re: Dual Dezimal
 
boah bin ich blöd :wall: :wall: :wall: :wall: :wall: :wall: :wall:

Thx @ all

mkinzler 14. Sep 2007 15:09

Re: Dual Dezimal
 
Zitat:

anstatt <binärcode> muss ich ja irgendwie das result aus der function nehmen oder?
Nein den Inhalt des Edits
Delphi-Quellcode:
Edit1.Text := IntToStr( BinToDec( edit2.text ));


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz