WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   c++: binär arbeiten bzw eigene datentypen (http://www.wcm.at/forum/showthread.php?t=67048)

it00x30 20.08.2002 19:39

c++: binär arbeiten bzw eigene datentypen
 
hi,

muss für ein projekt einen converter schreiben der ein ascii-file in ein binäres format convertiert. hinzu kommen nch so kleinigkeiten, dass ich in dem binärformat so seltsame sachen wie verkürzte integer (12 bit - genau weiss ich das allerdings noch nicht) haben werde.

mir fehlt momentan der zugang zu der sache. drum meine frage: hat jemand von euch schon mal sowas gemacht bzw wie kann ich überhaupt "normale" werte binär schreiben (von den verschrobenen datentypen noch gar nicht gesprochen)

danke für eure ideen

irrsinn 26.08.2002 12:04

ich hoff die funktionen lassen sich kompilieren. habs jetzt nur schnell ohne fehlersuche und test runtergetippt:

void Bin2Hex(unsigned char *chInput, unsigned long ulInputLength, unsigned char *chOutput)
{
for (unsigned long i = 0; i < ulInputLength; i++)
{
chOutput[i * 2] = ((chInput[i] & 0xF0) / 0x10) + 48;
chOutput[i * 2 + 1] = (chInput[i] & 0x0F) + 48;
} // for
} // Bin2Hex

void Hex2Bin(unsigned char *chInput, unsigned long ulInputLength, unsigned char *chOutput)
{
unsigned char chTemp[2];

for (unsigned long i = 0; i < ulInputLength; i+=2)
{
chTemp[0] = chInput[i];
chTemp[1] = chInput[i + 1];

if (chTemp[0] >= 'A')
{
chTemp[0] -= 'A';
} // if
else
{
chTemp[0] -= '0';
} // else

if (chTemp[1] >= 'A')
{
chTemp[1] -= 'A';
} // if
else
{
chTemp[1] -= '0';
} // else

chOutput[i / 2] = chTemp[0] * 0x10 + chTemp[1];
} // for
} // Hex2Bin


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag