ASCII Problem



  • Datentype: char
    Wertebereich: 1 Zeichen
    Speichergröße: 1 Byte

    Datentype: char
    Wertebereich: -128...127
    Speichergröße: 1 Byte

    Datentype: unsigned char
    Wertebereich: 0...255
    Speichergröße: 1 Byte

    Deshalb musst du unsigned char benutzen 🙂

    Aber wenn ich recht überlege wird der String doch noch Null Terminiert. Deshalb doch 255 - 1 (=254) oder liege ich da grade falsch?



  • D4rk schrieb:

    Aber wenn ich recht überlege wird der String doch noch Null Terminiert.

    welcher string?



  • char lookup_ascii8to7[256];
    Zu einem char Array sag ich manchmal String einfach weil es im Endeffekt einer ist. Ich meine ein C char Array gibst du auch mit printf("%s", namedesarrays); aus und das s von %s steht meines wissens für String.



  • MSS-Software schrieb:

    lookup_ascii8to7[i] = [b]char(i)[/b];
    

    Das ist ein C++-Cast und in C nicht erlaubt.

    @_D4rk_: Ein char-array ist nicht automatisch ein String.



  • Ein String wird in C vielleicht als Nullterminiertes char-Array verwaltet, aber deswegen ist noch lange nicht jedes char-Array ein "String" 😉 (und die Zeichentabelle, die der OP anlegen will, wird höchstwahrscheinlich NICHT als String verwendet)

    PS: signed char hat einen Wertebereich von (mindestens) -128..127, unsigned char von 0..255 - char ist ein eigenständiger Typ und hat je nach Systempräferenzen entweder den Wertebereich von signed char oder unsigned char.

    @MSS: Was ist eigentlich der Sinn dieses Arrays, wenn du in jedem Element seinen eigenen Index unterbringen willst?



  • CStoll schrieb:

    PS: signed char hat einen Wertebereich von (mindestens) -128..127

    -127... 127 😉



  • Tim schrieb:

    CStoll schrieb:

    PS: signed char hat einen Wertebereich von (mindestens) -128..127

    -127... 127 😉

    -127... 127 ??? 😕 CStoll hat Recht!



  • ohaoha schrieb:

    Tim schrieb:

    CStoll schrieb:

    PS: signed char hat einen Wertebereich von (mindestens) -128..127

    -127... 127 😉

    -127... 127 ??? 😕 CStoll hat Recht!

    Nein, hat er nicht.



  • einschliesslich 0 bis 127 sind 128
    -1 bis -128 sind auch 128 zusammen 256

    erklaer mir mal, wie Du auf -127... 127 (sind zusammen inklusive 0 = 255)
    🙄



  • ohaoha schrieb:

    erklaer mir mal, wie Du auf -127... 127 (sind zusammen inklusive 0 = 255)
    🙄

    So steht es im Standard. Es gibt halt auch andere Zahlendarstellungen als das Zweierkomplement 🙄

    z.B. Sign+Magnitude: +0 bis +127 und -0 bis -127



  • Ganz einfach beide haben recht (_D4rk_ und CStoll)
    Auch wenn es in fast allen Büchern falsch beschrieben ist:
    0 bis 127
    und
    -127 bis -1

    und nur 128 sind es, weil (8 Bit) - (1 Bit) für das Vorzeichen (-=1 und +=0)
    2E7 sind und 2E7 = 128

    ------------------------------------------------------------------------------------------------------------------------------------------------------------


Anmelden zum Antworten