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 2 von 6     12 34     Letzte »    
Benutzerbild von Evian
Evian

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

Re: Frage zu Pascal

  Alt 6. Sep 2003, 23:29
na na!!! Du hast doch wieder inttostr benutzt ...

aber müsste es nicht so gehen:

Delphi-Quellcode:
function IntToBin(i: Integer): string;
VAR
h, e, c : integer;
s, s2 : STRING;
BEGIN
h := i;
e := 0;


REPEAT
h := h DIV 2;
e := i MOD 2;
VAL(s,e,c);
s2 := s2 + s;
UNTIL h < 2;
inttobin := s2;
end;
?!

Evian

[edit=Luckie]Delphi-Tags ergänzt. Ein bischen Code formatieren könnte auch nicht schaden. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Frage zu Pascal

  Alt 6. Sep 2003, 23:32
Sorry, auch gerade gemerkt.
Hier die Komplettlösung - hin und zurück:
Delphi-Quellcode:
function IntToStr(IntNumber: Integer): string;
begin
  Str(IntNumber, result);
end;

function StrToInt(s: String): Integer;
var
  code: Integer;
begin
  val(s, result, code);
end;

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;

function BinToInt(s: string): Integer;
var
  Loop: Integer;
  Multiplier: Integer;
begin
  result := 0;
  Multiplier := 1;
  for Loop := 1 to length(s) do
  begin
    result := result + StrToInt(s[Loop]) * Multiplier;
    Multiplier := Multiplier * 2;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  IntNumber = 17;
  BinNumber = '10001';
begin
  ShowMessage(IntToBin(IntNumber));
  ShowMessage(IntToStr(BinToInt(BinNumber)));
end;
Probier deinen Code doch aus.
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
 
#13

Re: Frage zu Pascal

  Alt 8. Sep 2003, 10:27
Hatte am WE keine Zeit mehr..., aber Danke für die Hilfe ohne Deinen Grundansatz hätte ich wohl noch lange gerätzelt!

MFG

Evi
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Frage zu Pascal

  Alt 8. Sep 2003, 15:16
Grundansatz ist gut. Der letzte Code ist die komplette Lösung.
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
 
#15

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

  Alt 8. Sep 2003, 15:32
Ich habe nicht Deinen Code übernommen, sondern mit dem Tip:

15 / 2 = 7 R1
7 / 2 = 3 R1
3 / 2 = 1 R1
1 / 2 = 0 R1

..einen eigenen gemacht, da Deiner so wie er als letztes Gepostet wurde auch wieder nicht ging.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#16

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

  Alt 8. Sep 2003, 15:36
Ich auch

Den Thread hatte ich gar nicht gesehen Hier mal meine Lösung komplett ohne StrToInt und ohne IntToStr. Und ohne OtherWayRound (@Luckie: das wäre auch einfacher gegangen)...

Delphi-Quellcode:
function IntToBin(Value: Word): String;
const
  BIN_VALUE: array[0..1] of Char = ('0', '1');
begin
  Result := '';
  while Value > 1 do
  begin
    Result := BIN_VALUE[Value and $01] + Result;
    Value := Value div 2;
  end;
  Result := BIN_VALUE[Value and $01] + Result;
end;

function BinToInt(Value: String): Word;
const
  INT_VALUE: array['0'..'1'] of Byte = (0, 1);
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(Value) do
  begin
    Result := Result * 2;
    Result := Result + INT_VALUE[Value[I]];
  end;
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 8. Sep 2003, 15:48
Halt, da hast du wieder die and-Verknüpfung drin. Ich denke Ziel des Lehrers war es den Algorithmus, wie man es von Hand macht in Programmcode zufassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#18

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

  Alt 8. Sep 2003, 15:55
Hm, wenn der Lehrer nicht genug IQ hat, um zu wissen, daß and auch "von Hand" ist, dann halt so:

Delphi-Quellcode:
function IntToBin(Value: Word): String;
const
  BIN_VALUE: array[0..1] of Char = ('0', '1');
begin
  Result := '';
  while Value > 1 do
  begin
    Result := BIN_VALUE[Value mod 2] + Result;
    Value := Value div 2;
  end;
  Result := BIN_VALUE[Value mod 2] + Result;
end;
.......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 8. Sep 2003, 16:00
OK. Mal sehen, ob wir noch eine Rückmeldung zwecks unserer Note bekommen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#20

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

  Alt 8. Sep 2003, 16:47
Zitat von Luckie:
OK. Mal sehen, ob wir noch eine Rückmeldung zwecks unserer Note bekommen.
Wegen nicht erlaubter Gemeinschaftsarbeit:

fünf -> Setzen.

*gggg*

Sorry: Das musste sein
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     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 23:27 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