string, char, unsigned char



  • hallo,

    char kann zeichen von -127 bis 127 aufnehmen
    unsigned char 0 bis 255 und somit auch steuerzeichen

    jetzt wüsste ich gerne noch andere zeichenketten var-typen wie
    std::string .. von wo bis wo gehts denn da?



  • steffen_x schrieb:

    char kann zeichen von -127 bis 127 aufnehmen

    Nö. char kann Werte im Bereich [CHAR_MIN;CHAR_MAX] annehmen. Falls auf deiner Platform char == signed char, dann ist das für gewöhnlich [-128;127].

    unsigned char 0 bis 255 und somit auch steuerzeichen

    Huh? Der Wertebereich von signed und unsigned char ist gleich groß. Insofern verstehe ich nicht, was das mit Steuerzeichen zu tun hat.

    jetzt wüsste ich gerne noch andere zeichenketten var-typen wie
    std::string

    Does not compute!

    von wo bis wo gehts denn da?

    Von [begin();end())



  • ähm .. ja ok -128 .. mein fehler

    aber der rest .. hä?
    also wie ich sagte gehts um binäre daten und steuerzeichen .. da ist sehr wohl ein unterscheid zwischen char und unsigned char .. den char hat als ersten das vorzeichenbit.

    und wenn ich meine binärdaten in char und unsigned char darstelle sind da sehr wohl unterschiede zu sehen.

    und ich wollte nun gerne wissen wie string damit arbeitet .. signed oder unsigned.



  • also wie ich sagte gehts um binäre daten und steuerzeichen

    Das sagtest du wo?

    da ist sehr wohl ein unterscheid zwischen char und unsigned char .. den char hat als ersten das vorzeichenbit.

    Also erstmal ist es implementationsabhängig ob char ein signed oder unsigned char ist und zweitens kannst du Steuerzeichen genauso in einem char, wie auch in einem unsigned char unterbringen. Es kommt doch nur auf die Interpretation an.

    und ich wollte nun gerne wissen wie string damit arbeitet .. signed oder unsigned

    std::string ist ein typedef für std::basic_string<char, std::char_traits<char> >, arbeitet also mit chars, welche abhängig von deiner Implementation entweder signed oder unsigned sind.



  • danke für die aufklärung 😉



  • Hallo,

    HumeSikkins schrieb:

    Falls auf deiner Platform char == signed char...

    HumeSikkins schrieb:

    Also erstmal ist es implementationsabhängig ob char ein signed oder unsigned char ist...

    vielleicht ( nur vielleicht, ansonsten nicht so wichtig) sollte man noch klärend hinzufügen, daß die angesprochene Gleichheit sich nur auf die "Werte-Menge" bezieht, die die char-Typen aufweisen, Typ-Identität besteht jedoch nie zwischen den drei Typen "unsigned char", "char" und "signed char"

    MfG


Anmelden zum Antworten