AGB  ·  Datenschutz  ·  Impressum  







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

Integer to Binary ??

Ein Thema von 5etH · begonnen am 15. Mai 2008 · letzter Beitrag vom 15. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#1

Integer to Binary ??

  Alt 15. Mai 2008, 08:44
Hallo Zusammen,

ich würde gerne wissen ob es mit einer bethode wie zb IntToBin Integer Zahlen nach Binär umzuwandeln oder gibts da nur die möglichkeit mit dem errechnen ?

Schonmal vielen Dank
5etH
Manuel
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Integer to Binary ??

  Alt 15. Mai 2008, 08:49
IntToBin wandelt einen Interger in String um.
Der String besteht aus 0 und 1. Halt der Wert des Intergers
in Binärdarstellung. Rechnen kannst Du damit nicht.
Dazu ist der Integer da.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Integer to Binary ??

  Alt 15. Mai 2008, 08:58
Hier Hatte jemand mal Lösung gepostet Zahlen in Booleans zu wandeln... evtl hilft das ja weite. ^^

Edit:
Leichter verständlich ist es wohl, wenn du (Eingang shr i) and 1 <> 0 durch odd(Eingang shr i) ersetzt.
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:12
also ich hab jetzt ein programmteil der so aussieht

Delphi-Quellcode:
Var test : Integer;
test2 : String;
begin
  test := 13;
  test2 :=IntTOBin(test);
  showmessage(test2)
aber leider bekomme ich diese fehlermeldung:
[DCC Fehler] Unit7.pas(58): E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'
Manuel
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:14
Zitat von 5etH:
also ich hab jetzt ein programmteil der so aussieht

Delphi-Quellcode:
Var test : Integer;
test2 : String;
begin
  test := 13;
  test2 :=IntTOBin(test);
  showmessage(test2)
aber leider bekomme ich diese fehlermeldung:
[DCC Fehler] Unit7.pas(58): E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'
In dem Codesegment ist der Fehler nicht zu finden.
Poste mal die ganze Prozedur, heißt die Prozedur auch test?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:15
procedure TForm7.Button1Click(Sender: TObject);
Var test : Integer;
test2 : String;
begin
test := 13;
test2 :=IntTOBin(test);
showmessage(test2)
end;
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:17
Das geht bei mir einwandfrei:

Delphi-Quellcode:
function IntToBin(Value: Cardinal): string;
var
  I: Integer;
begin
  SetLength(Result, 32);
  for I := 1 to 32 do
  begin
    Result[I] := Char(Ord('0') + (Value shr 31));
    Inc(Value, Value);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  test: Integer;
  test2: string;
begin
  test := 13;
  test2 := IntToBin(test);
  ShowMessage(test2)
end;
IntToBin ist eine der vielen erwähnten möglichen Funktionen aus der Code-Library.

Grüße

Edit: Nutze bitte, wie zuvor auch, die [delphi]-Tags.
  Mit Zitat antworten Zitat
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:23
super aber wie kann ich das so justieren das der string nur 8 stellen hat also nur ein byte lang ist da ich ein programm für subnetmasking erstellen will und wenn ich die zeile

SetLength(Result, 32); zu

SetLength(Result, 8); ändere bekomme ich nur 8 nullen
und nicht 00001101

oder hab ich die funktion nicht verstanden ?
Manuel
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:32
Cardinal ist 32bit breit, also sollten
auch 32 Stellen im String zu finden sein.
Wenn Du nur 8 Stellen brauchst gibt es mehrere Möglichkeiten:

a) Du baust Dir eine Funktion function byteToBin(b:Byte):String;
b) du löscht die ersten 24 Stellen des Strings
c) du kopierst Dir die letzten 8 Stellen des Strings in einen anderen String.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Integer to Binary ??

  Alt 15. Mai 2008, 09:33
Hallo, da ein Cardinal 32 Bit groß ist, kannst du Byte (8 Bit) nehmen:

Delphi-Quellcode:
function IntToBin(Value: Byte): string;
var
  I: Integer;
begin
  SetLength(Result, 8);
  for I := 1 to 8 do
  begin
    Result[I] := Char(Ord('0') + Value shr 7);
    Inc(Value, Value);
  end;
end;
Theoretisch kannst du den Cardinal auch auf 8 Bit runterschrauben:

Delphi-Quellcode:
function IntToBin(Value: Cardinal): string;
var
  I: Integer;
begin
  SetLength(Result, 8);
  for I := 1 to 8 do
  begin
    Result[I] := Char(Ord('0') + (Value and $FF) shr 7);
    Inc(Value, Value);
  end;
end;
Doch letzteres nur zum Verständnis. Für 8 Bit wäre ein Cardinal übertrieben.

Grüße

Edit: Da war einer schneller.
  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 09:22 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