PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Char + Binärdaten



Tux12Fun
28.03.2009, 15:17
Hallo,

ich habe mal eine fast allgemeine C++ frage.

In einen Char passen doch eigentlich alle Binärzeichen die vorkommen können oder ?

ein unsigend Char reicht aber dafür nicht mehr aus oder ?

D. h reicht eigentlich der Wertebereich von 0 - 127 auch für alle Binärdaten ? Oder können auch negative Werte im Binärspektrum kommen ?

Soweit ich gelesen habe müsste doch der char von -127 -> 0 -> 127 gehen.

CsT
28.03.2009, 15:57
Alle Binärzeichen? 0 und 1? Passen sowohl in signed als auch unsigned?!?

Sorry, aber ich verstehe deine Frage nicht ganz, was hast du denn vor?

Tux12Fun
28.03.2009, 16:03
Also ich meinte es so, wenn ich eine Datei z. B. MP3 / Exe ...
mit fgetc lese, dann bekomme ich ja einen Char Wert. Nun ist die Frage, ob dieser in den Wertebereich 0 - 127 auch passt, oder ob hier auch neg. werte enthalten sein können.

p_mork
28.03.2009, 16:28
Hallo Tux12Fun,

wenn Du eine MP3 / Exe / was auch immer - Datei ausliest, bekommst Du nicht einen einzigen char-Wert, sondern meistens ein paar Tausend oder Millionen. Ob ein char auch negative Werte annehmen kann ist reine Interpretationssache. Denn ein char (Byte) besteht einfach nur aus 8 Bits, die jeweils 0 oder 1 sein können. Macht für ein Byte 2^8, also 256 Zustände welche das Byte annehmen kann. Ob man das Bismuster 11111111 als 255 oder als -1 ansieht, ist nur von dem konkreten Anwendungsfall abhängig und lässt sich nicht allgemein sagen.

MfG Mark

Tux12Fun
28.03.2009, 17:52
OK danke für die Antwort, das bingt mich schon ein ganzes Stück weiter

thewulf00
29.03.2009, 12:32
Also zusammengefasst kann man sagen, dass Du ein Array von Chars/Bytes brauchst, die aber unsigned sein sollten, sonst machen Binärdaten keinen Sinn.