Entwickler-Ecke
Sonstiges (Delphi) - Dezimal-Binär umwandeln
Bagster - Mo 04.10.10 16:16
Titel: Dezimal-Binär umwandeln
Kann mir jemand von euch sagen wo her der string ---zs--- bei einer prozedur kommt? Am besten wärs, wenn mir einer das ganze Programm erklärt. Danke
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108:
| implementation
{$R *.dfm}
Const bits = 15;
TYPE
bitblabla = array[0..bits] of shortint; bitblabla2 = array[0..bits] of shortint; bitblabla3 = array[0..bits] of shortint; bitblabla4 = array[0..bits] of shortint;
VAR
bt : bitblabla ; bt2: bitblabla2; bt3: bitblabla3; bt4: bitblabla4;
Bfolge : String ; Bfolge2 : String ; Bfolge3 : String ;
procedure umformung3(zs:string; Var Bfolge:string); Var i : integer; z : integer;
Begin z := strtoint (zs); Bfolge := '';
for i := 0 to 15 do begin bt3[i] := z mod 2; z := z div 2; end;
for I := 0 to 15 do Bfolge := IntToStr(bt3[I]) + Bfolge ;
End;
procedure umformung2(zs:string; Var Bfolge:string); Var i : integer; z : integer;
Begin z := strtoint (zs); Bfolge := '';
for i := 0 to 15 do begin bt2[i] := z mod 2; z := z div 2; end;
for I := 0 to 15 do Bfolge := IntToStr(bt2[I]) + Bfolge ;
End;
procedure umformung(zs:string; Var Bfolge:string); Var i : integer; z : integer;
Begin z := strtoint (zs); Bfolge := '';
for i := 0 to 15 do begin bt[i] := z mod 2; z := z div 2; end;
for I := 0 to 15 do Bfolge := IntToStr(bt[I]) + Bfolge ;
End;
procedure TForm1.Button1Click(Sender: TObject); begin umformung(Edit1.Text, Bfolge); Label1.Caption := Bfolge; umformung2(Edit2.Text, Bfolge2); Label2.Caption := Bfolge2; umformung3(Edit3.Text, Bfolge3); Label3.Caption := Bfolge3; |
Moderiert von
Narses: Delphi-Tags hinzugefügt
Narses - Mo 04.10.10 16:19
Moin!
Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
| 1.2 Beiträge: |
| Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

oder

klicken und den Titel ändern. Danke Dir!
cu
Narses
JoelH - Mo 04.10.10 16:24
Bagster hat folgendes geschrieben : |
Kann mir jemand von euch sagen wo her der string ---zs--- bei einer prozedur kommt? Am besten wärs, wenn mir einer das ganze Programm erklärt. Danke
Delphi-Quelltext 1: 2: 3:
| umformung(Edit1.Text, Bfolge); umformung2(Edit2.Text, Bfolge2); umformung3(Edit3.Text, Bfolge3); |
|
Schau mal genau hin, dann weisst du wo zs herkommt...
MaxWurzel - Mo 04.10.10 16:25
Der String zs soll vermutlich vorher in ein Editfeld eingegeben werden.
Bagster - Mo 04.10.10 19:31
Danke für die Antworten. Kann mir jemand vll eine Definion von Xor im Bezug zum Binärsystem nennem? Kann keine geeignete Definition im Internet finden.
Marc. - Mo 04.10.10 19:47
XOR ist ein
"exclusive OR" [
http://de.wikipedia.org/wiki/XOR-Gatter], also ein ausschließendes Bitweises-ODER.
D.h. wenn Bit A und B gleich sind, ist das Ergebnis False ('0'). Sind die beiden Bits hingegen verschieden, so ist das Ergebnis True ('1').
Also, entweder das Eine oder das Andere.
iterion - Mi 06.10.10 19:48
Hab mal etwas geschrieben fuer eine serial port verbindung, die ausgabe erfolgt ueber eine string.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| function DecToB(number:integer):string; var c,r,res:integer; cdr,add:integer; tmp:string; begin result:=''; c:=number; while c>0 do begin r:=c mod 2; res:=c div 2; c:=res; result:=result+inttostr(r); end; tmp:=''; for cdr:=length(result)downto 1 do tmp:=tmp+copy(result,cdr,1); result:=tmp; add:=8-length(result); tmp:=''; for cdr:=1 to add do tmp:=tmp+'0'; tmp:=tmp+result; result:=tmp; end; |
Und so ruft man das ganze auf:
Delphi-Quelltext
1:
| label1.caption:=Dectob(strtoint(edit1.Text)); |
Also als eingabe Zb. 20 da ist die ausgabe dann 00010100
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!