Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Bcd zurückrechnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
12.12.2003, 15:40 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Hi,

ich habe ein paar Werte die BCD codiert sind, weiß einer wie man die wieder zurückrechnen kann?

Gruß
Guybrush
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.12.2003, 15:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


immer 4 bytes ergeben eine zehnerstelle....

0001 0010 00011 0100 wäre 1234
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.12.2003, 15:47 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Irgendwie steh ich noch auf`m Schlauch, also der Algorythmus um es zu codieren sieht so aus:
y = (BYTE)((BYTE)(x%10) + (BYTE)((BYTE)((x/10)%10)<<4);

aber ich kann ja die modulo Operation nicht umkehren...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.12.2003, 15:56 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
x = (y>>4)*10 + y%16;


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.12.2003, 16:05 Uhr
ao

(Operator)



C++:
/* Jede BCD-Ziffer maskieren, durch ihre 16er-Potenz teilen und mit der 10er-Potenz malnehmen. Am Ende alles addieren. */
x = ((y & 0xf000) / 0x1000) * 1000
  + ((y & 0x0f00) / 0x100) * 100
  + ((y & 0x00f0) / 0x10) * 10
  +  (y & 0x000f); /* hier koennte man ergaenzen: (( ... ) / 0x1) * 1



ungetestet, also Vorsicht.

ao

Dieser Post wurde am 12.12.2003 um 16:05 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.12.2003, 16:07 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: