![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() Registriert seit: 21.07.2001
Alter: 45
Beiträge: 404
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() Registriert seit: 05.04.2002
Beiträge: 331
|
![]() 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
____________________________________
Wenn es dumm ist aber funktioniert, ist es nicht dumm! |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|