TGA lesen



  • bin bei meiner sucherei auf das hier gestoßen..ggf. interessiert es noch wen...
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_predir_pragma_directives.asp

    danke nochmal an alle, habs nun geblickt und weiß was ich tue



  • [b]cute[b]

    Hier stand mal ein schwachsinn meiner muedigkeit.



  • Char entspricht einem Byte. Die Größe eines Bytes ist allerdings nicht festgelegt, du kannst hier aber von 8 Bit ausgehen. D.h. ein Char entspricht in diesem Fall 8 Bit.
    D.h. es hat einen Maximalwert von 0xff (wenn unsigned) oder 0x7f (wenn signed).
    0xffff sind übrigens 16 bit: 1111 1111 1111 1111 im Binärsystem.
    Und ein boolean belegt auf jedenfall mehr als ein Bit!

    grüße



  • Jetzt wo wir schon mal bei TGAs sind:
    Ich hab die eine Funktion von den Nehe-Tutorials zum TGA-Laden, aber wenn ich mit IrfanView Bilder Im TGA-Format abspeichere kann die Ladefunktion die Bilder nicht laden, obwohl die Bilder unkomprimiert abgespeichert sind.
    Tja, Problem.
    Wisst ihr vielleicht was?



  • oh shit, ich hab's vergeben.
    stimmt... keine ahnung was ich mir gedacht habe...



  • David_pb schrieb:

    Char entspricht einem Byte. Die Größe eines Bytes ist allerdings nicht festgelegt

    Umgekehrt!



  • TomasRiker schrieb:

    David_pb schrieb:

    Char entspricht einem Byte. Die Größe eines Bytes ist allerdings nicht festgelegt

    Umgekehrt!

    keins von beiden 😛



  • Hi!

    Was redest du da TomasRiker?

    Byte
    Die Größe ist nicht unbedingt 8 Bit, es muss nur:
    ➡ groß genug sein, um jedes Element des Basisausführungszeichensatzes speichern zu können
    ➡ aus einer Folge hintereinander liegender Bits bestehen und
    ➡ Adressierbar sein

    Char
    Die Größe eines Char ist ein Byte
    ➡ sizeof() liefert die Größe eines Types in Byte
    ➡ sizeof( char ) liefert immer 1

    grüße



  • Das war mir gar nicht bewusst.
    Allerdings gibt der Wikipedia-Artikel mehrere Definitionen an.
    Am besten sagt man dann wohl "Oktett", wenn man 8 Bits meint 😉



  • ich hab irgendwo auch noch eine andere definition von byte als die kleinste einzeln adressierbare einheit des systems gefunden...

    dass sizeof(char) immer 1 liefert steht scheinbar im C standard, obs bei C++ auch so ist, weis ich nicht.



  • dot schrieb:

    ich hab irgendwo auch noch eine andere definition von byte als die kleinste einzeln adressierbare einheit des systems gefunden...

    dass sizeof(char) immer 1 liefert steht scheinbar im C standard, obs bei C++ auch so ist, weis ich nicht.

    In C++ ist das genauso festgelegt. Weil ein Char immer einem Byte entspricht.

    grüße



  • David_pb hat recht, was er sagt steht auch so im (C++)Standard.

    Die Zahl der Bits in einem char kann man übrigens mit std::numeric_limits< unsigned char >::digits abfragen (steht in <limits>).
    Dies ist im Übrigen keine universelle Möglichkeit für jeden built-in Typ die Anzahl an Bits abzufragen:

    msdn schrieb:

    The member stores the number of radix digits that the type can represent without change, which is the number of bits other than any sign bit for a predefined integer type, or the number of mantissa digits for a predefined floating-point type.



  • @simmon

    hast du dir mal den header in einem hex editor angeguckt? ggf. gibt das in verbindung mit deinem source code auschluss was schief läuft


Anmelden zum Antworten