AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Umrechnen Bin-Dez / Dez-Bin ohne shr oder shl
Thema durchsuchen
Ansicht
Themen-Optionen

Umrechnen Bin-Dez / Dez-Bin ohne shr oder shl

Ein Thema von Evian · begonnen am 6. Sep 2003 · letzter Beitrag vom 6. Nov 2007
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

Umrechnen Bin-Dez / Dez-Bin ohne shr oder shl

  Alt 6. Sep 2003, 20:22
Ein Freund soll für die Schule ein Program schreiben, dass integerwerte in binärwerte umwandelt und sie auf dem Bildschirm ausgibt. Sie benutzen dort Pascal 5.5. und da ich nur Delphi benutze und derartige umwandlungen durch beiligende funktionen meist ohne weiteres umgewandelt werden kann ich ihm leider nicht auf de schnelle weiterhelfen.

Also meine frage, wie kann ich mit Hilfe von Turbo Pascal 5.5 oder üerhaupt Turbo Pascal innerhalb einer Funktion einen integerert in einen Binärwert umwandeln?

Wäre nett, wenn ihr mir wieder mal helfen könntet!

Evian

[edit=Luckie] Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#2

Re: Frage zu Pascal

  Alt 6. Sep 2003, 21:51
Falls enige überhauüt mit Turbo Pascal gearbeitet haben, TP hat fast den selben wortschatz wie Delphi... nur das es nicht die ganzen Units mit den Hilfsfunktionen gibt, also wenn mir jemand sagen könnte, wie man in Delphi eine dezimal - Zahl in einer binärzahl, ohne die Hilfe einer Funktion wie "inttobin()" umrechnen kann, würde mir das auch schon helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Frage zu Pascal

  Alt 6. Sep 2003, 21:54
Delphi-Quellcode:
function IntToBin(Int: Integer): String;
var
  i : Integer;
begin
  Result := '';
  for i := 7 downto 0 do
  Result := Result + IntToStr((Int shr i) and 1);
end;

function BinToInt(Binary: String): Integer;
var
  i : Integer;
begin
  Result := 0;
  for i := Length(Binary) downto 1 do
  Inc(Result, StrToInt(Binary[i]) * 1 shl (Length(Binary) - i));
end;
Und was bekomme ich jetzt dafür, dass ich anderer Leute die hausaufgaben mache?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#4

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:20
Mh... ich würd Dir ja so einiges geben, aber da es die funktion inttostr und shr unter PASCAL nicht gibt, und somitt die Hausaufgaben noch nicht gemacht sind, kann ich Dir auch nichts geben... *g*

Hast Du nicht noch nen anderen Tip?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:22
Fpür IntToStr kannst du auch val nehmen, sollte es auch unter TP geben. Den Ersatz für ShiftRight (shr) kann ich dir nicht nennen, da ich nie mit TP gearbeitet habe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#6

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:25
was genau mach shr, vielleich kann ich das ja anders umsetzen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:28
Es verschiebt die Bits um angegeben Anzahl von Bits nach rechts.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#8

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:37
Mh... schade, das hilft mir auch nicht weiter.. ich denke, dass kann ich so einfach in Pascal auch nichte realisieren.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Frage zu Pascal

  Alt 6. Sep 2003, 22:40
Dann implementier den Algorithmus, wie man es auch von Hand machen würde:
Code:
15 / 2 = 7 R1
 7 / 2 = 3 R1
 3 / 2 = 1 R1
 1 / 2 = 0 R1
Der Rest von Oben nach untengelesen ergibt die Zahl im Binärsystem.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Frage zu Pascal

  Alt 6. Sep 2003, 23:07
Weil mir langweilig war:
Delphi-Quellcode:
function IntToBin(IntNumber: Integer): string;

  function OtherWayRound(s: string): string;
  var
    Loop: Integer;
  begin
    for Loop := length(s) downto 1 do
    begin
      result := result + s[Loop];
    end;
  end;

var
  res: Integer;
begin
  res := IntNumber;
  while res <> 0 do
  begin
    result := result + IntToStr(res mod 2);
    res := res div 2;
  end;
  result := OtherWayRound(result);
end;
Und das war wohl auch Sinn der Aufgabe, diesen Algorithmus umzusetzten. shr hätte wohl das Thema sowieso verfehlt.

Und was bekomme ich jetzt, außer einen feuchten Händedruck und dass dein Freund meine Lorbeeren einstreicht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 13:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz