AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Binärzahl in ASCII Schriftzeichen umwandeln
Thema durchsuchen
Ansicht
Themen-Optionen

Binärzahl in ASCII Schriftzeichen umwandeln

Ein Thema von hirnstroem · begonnen am 9. Feb 2007 · letzter Beitrag vom 9. Feb 2007
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 12:18
'loha Folks,

wie bekomme ich es hin, dass zum Beispiel Binär (0)1000001 in das Schriftzeichen A umgewandelt wird?

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Klaus01

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

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 12:23
Wenn Dir der Binärwert als String vorliegt dann geht das so wie hier beschrieben -> http://www.delphipraxis.net/internal...ct.php?p=31291

Ach, den Integerwert mußt Du dann noch in ein Char wandeln chr(i);

Oder den Code hier verwenden, ist etwas kürzer:

Delphi-Quellcode:
function BinToInt(Value: String): LongInt;
var
  i,Size: Integer;
begin
  Result:=0;
  Size:=Length(Value);
  for i:=Size downto 0 do
  begin
    if Copy(Value,i,1)='1then
      Result:=Result+(1 shl i);
  end;
end;

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 12:39
Vielen Dank Klaus!

Die Chr Routine war die Lösung.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#4

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 12:42
Lass mich raten, das wird ein Assembler ? Da würdest du das nämlich auch brauchen.
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 12:57
Es wird kein Assembler, du darfst weiter raten : )

Nein, ich verwende dies letztenendes dafür, um den Code spezieller Schlüssel, welche von einem Fotochip optisch erfasst werden können, unkenntlich zu machen, dabei noch ein Paar Zeichen einzusparen und trotzdem noch eine dem jeweiligen Schlüssel eindeutig zuordenbare Nummer zuzuteilen von welcher sich nicht ohne weiteres auf den Code des Schlüssels schliessen lässt und welche aus ASCII Zeichen besteht. Dies wiederum wird benötigt um beim erfassen eines Schlüssels sichergehen zu können, dass das Gerät auch wirklich den richtigen Schlüssel erkannt hat.
inde deus abest
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 16:51
Moin Klaus,

bitte niemals Bitmanipulationen mit + vornehmen, auch wenn es in diesem Falle funktioniert.
Man kann sich das zu leicht für Fälle angewöhnen, in denen es zu falschen Ergebnissen führt.

Bit(s) setzen mit:
Ergebnis = Wert OR Bitmaske
Bit(s) löschen mit:
Ergebnis = Wert AND NOT Bitmaske
Bit(s) abfragen mit:
Ergebnis = Wert AND Bitmaske

Bit(s) bzw. Bitmaske, da es sich ja nicht immer zwingend um einzelne Bits drehen muss, sondern auch mal um Kombinationen.
Deshalb sollte man auch nie +/- hierfür verwenden, da das Ergebnis dann auch ungültig für den jeweiligen Anwendungszweck werden könnte.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#7

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 16:59
Hallo,

wo werden denn hier Bits manipuliert? Da werden doch nur (Dezimal-)Zahlen addiert. Und das ist auch korrekt so.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Binärzahl in ASCII Schriftzeichen umwandeln

  Alt 9. Feb 2007, 18:13
Hallo,

Zitat von xaromz:
wo werden denn hier Bits manipuliert? Da werden doch nur (Dezimal-)Zahlen addiert. Und das ist auch korrekt so.
Ich denke, beides ist korrekt. Natürlich werden 2 Dezimalzahlen addiert, man kann es aber auch als Manipulation eines Bits betrachten. Und in diesem Fall sollte man dann Christians Hinweis beachten. So oder so - Klaus' Routine arbeitet leider nicht ganz korrekt. Der Zugriff auf das Zeichen mit Index 0 ist nicht zulässig, und die Wertigkeit der einzelnen Bits wird falsch berechnet.

Ich würde es so lösen:

Delphi-Quellcode:
function BinToInt (const Value: String): Cardinal;
var
  i : Integer;
begin
  Result := 0;
  for i := 1 to Length(Value) do
    Result := 2 * Result + Ord(Value[i] <> '0');
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:02 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