AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umrechnen von Zahlensystemen

Ein Thema von JP29 · begonnen am 27. Aug 2011 · letzter Beitrag vom 1. Sep 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#1

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 15:26
Zitat:
hier hab ich mal ausprobiert
Du hast in n deine Zahl ... warum rechnest du dann niemals mit n ?

Und zur Syntax:
Zitat:
Delphi-Quellcode:
x DIV 2:= x;
x MOD 2:= y;
Delphi-Quellcode:
x := n MOD 2;
v := n DIV 2;
Zitat:
Delphi-Quellcode:
c:=IntToStr(y);
result:=copy(c,1,1);
Was soll das COPY?
Über MOD 2 bekommt man doch sowieso nur eine einstellige Zahl raus.
Und wo läßt du die vorherigen Ergebnisse? Result würd jedesmal überschrieben
result := Result + IntToStr(x); .

Tipp: Nenn besser keine Variable Result ... denn so heißt das "Result" jeder Funktion und das könnte mal missverständlich enden.

Tipp 2: Im Debugger kann man sich die Werte seiner Variablen ansehn und so erkennen was wie wo (falsch) läuft.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Aug 2011 um 15:30 Uhr)
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#2

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 17:41
also...ok mit dem n war ein fehler.
aber das result hab ich ja als string und ich kopiere das neu errechnete ja dann immer den string result rein damit das vorherige erhalten bleibt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#3

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:04
aber das result hab ich ja als string und ich kopiere das neu errechnete ja dann immer den string result rein damit das vorherige erhalten bleibt.
Falsch, Result := ...; weißt Result immer einen komplett neuen Wert zu ... das erste Zeichen des String c.
Und dabei geht natürlich der vorherige Inhalt von Result verloren.

Soll das neue Zeichen angehängt werden, dann mußt du entweder Result nehmen und c anhängen (Result + c ) und das Ergebnis an Result übergeben (siehe mein Beispiel in #6)
oder du nimmst Delphi-Referenz durchsuchenInsert und fügst das c hinten ein.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#4

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:14
also danke erstmal für die hilfe...deine antwort habe ich verstanden, aber vom prinzip her also wie ich das meine die einzelnen werte in einem string zu speichern is in ordnung oder?!
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#5

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:24
cool...das programm an sich funktioniert jetzt, allerdings rechnet er nicht richtig z.b rechnet er 12 in 011101111000010101010110 um:
Was ist denn an meinen rechenweg falsch??
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#6

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:26

Tipp 2: Im Debugger kann man sich die Werte seiner Variablen ansehn und so erkennen was wie wo (falsch) läuft.
wie kommt man in den debugger??
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#7

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:35
ok war n dummer fehler, ich hatte nicht x dem edit 1 zugewiesen, aber er rechnet immer noch nicht ganz richtig:
12 sind jetzt 0110 statt 0011.
und 0110 sind nur 6...aber ich erkenne en fehler nicht.
bitte hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#8

AW: Umrechnen von Zahlensystemen

  Alt 27. Aug 2011, 20:49
Bitte editiere deine Beiträge, wenn du kurz hintereinander mehreres sagen willst. (Mehrfachposts sind nicht so gerne gesehn)

Und zum Debugger: schau dir mal das Menü "Start" genauer an.

Ich weiß jetzt nicht genau, was alles schon in D6 möglich war, aber


z.B. auf die erste Zeile deiner Prozedur gehen und F5 drücken (Haltepunkt setzen)
dann mit F9 das Programm starten
mit F7 / F8 kann man dann einzelne Zeilen/Befehle ausführen

Mit der Maus über eine Variable zeigen und dann zeigt Delphi einem den Wert an
und eventuell gibt es unter Ansicht > Debugfenster auch sowas wie Überwachte Ausdrücke, wo man den Namen einer Variable eintragen und sich deren Wert anzeigen kann.
Auch versteckt sich vermutlich im Kontextmenü des Codefensters einige schöne Einträge zum Anzeigen/ändern von Werten.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
JP29

Registriert seit: 27. Aug 2011
45 Beiträge
 
Delphi 6 Personal
 
#9

AW: Umrechnen von Zahlensystemen

  Alt 28. Aug 2011, 08:45
mhhh naja, aber ich würd gern mal wissen warum er falsch rechnet, eigentlich stimmt doch die syntax

edit:
hab jetztnoch was entdeckt:
er versetzt immer eine null an die falsche stelle:
50 wären ja: 110010
programm rechnet: 011001
genau wie bei 12
12 wären: 1100
programm rechnet:0110

habt ihr vlt. ne idee woran das liegen könne!?

Geändert von JP29 (28. Aug 2011 um 08:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#10

AW: Umrechnen von Zahlensystemen

  Alt 28. Aug 2011, 09:23
Du merkst Dir den Wert des niederwertigsten Bits nicht, sondern dividierst sofort durch 2.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 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