Hi,
also BCD ist nicht binary zahlen format, sondern ein sehr altes format um zahlen zu speichern! Wo bei das auch eigentlich kein richtiges Zahlenformat ist, sondern nur eine art um Zahlen zu übergeben. Zum Beispiel liefert das BIOS beim abfragen der Aktuellen Zeit die Zeit im BCD format zurück.
Im BCD format werden in einem Byte zwei Nibble's gespeichert. Sprich die BCD zahl
$11 entspricht den zwei dezimal zahlen 1, 1!
Das was du meinst ist das binary zahlen system, das ganz einfach gebildet werden kann!
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| Function ByteToBinaryStr(AValue: Byte): String; Var B: PByte; Begin AValue := AValue And $FF; Result := StringOfChar('0', 8); B := @Byte(Result[8]); While AValue <> 0 Do Begin Inc(B^, AValue And 1); AValue := AValue Shr 1; Dec(B); End; End;
Function WordToBinaryStr(AValue: Word): String; Var B: PByte; Begin AValue := AValue And $FFFF; Result := StringOfChar('0', 16); B := @Byte(Result[16]); While AValue <> 0 Do Begin Inc(B^, AValue And 1); AValue := AValue Shr 1; Dec(B); End; End;
Function DWordToBinaryStr(AValue: DWORD): String; Var B: PByte; Begin Result := StringOfChar('0', 32); B := @Byte(Result[32]); While AValue <> 0 Do Begin Inc(B^, AValue And 1); AValue := AValue Shr 1; Dec(B); End; End; |
Omorphia source
OIncProcs.pas (Zeile ca. 1700)
Cu
Neo