![]() |
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 |
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