Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#29

Re: Text in Dualzahlen umwandeln

  Alt 24. Mär 2010, 16:17
Ist doch relativ einfach:
Wenn Du ein Zeichen (Byte) binär darstellen willst, bekommst Du einen String der 8 Zeichen Lang ist.
also so etwas 01010100.
Result:=' '; dann werden alle Bits von "oben" nach "unten" (most signigficant/least significant ?)
in den String übertragen:
Delphi-Quellcode:
  result[1]:=bina[(inbyte shr 7) and $01];
  result[2]:=bina[(inbyte shr 6) and $01];
  result[3]:=bina[(inbyte shr 5) and $01];
  result[4]:=bina[(inbyte shr 4) and $01];
  result[5]:=bina[(inbyte shr 3) and $01];
  result[6]:=bina[(inbyte shr 2) and $01];
  result[7]:=bina[(inbyte shr 1) and $01];
  result[8]:=bina[(inbyte and $01)];
mit shr schiebst Du das zu verwertende Bit an die letzte Stelle und maskierst es mit $01.Wobei das $01 sicher stellt, daß immer 0 oder 1 als Ergebnis heraus kommt (eben das aktuell letzte Bit).
Und das nimmst Du als Index für ein Array (bina), das nur 0 und 1 enthält. So wird der Zahlenwert 0 als Ziffer 0 dargestellt und der Wert 1 als 1.
Delphi-Quellcode:
const
  bina:array [0..1] of char=('0','1');
Ich hoffe das ist verständlich
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat