zaid38 Geschrieben 26. August 2021 Geschrieben 26. August 2021 Hallo, Wie steht hier eine Zahl? Char nimmt ein Zeichen ,oder? Aslo warum nicht so? signed char cVal = '100'; , hier 100 als Zeichen und Nicht als zahl. stimmt so? Zitieren
Rienne Geschrieben 26. August 2021 Geschrieben 26. August 2021 Kurze Gegenfrage: Hast du den Code mal laufen lassen und dir angeschaut, was ausgegeben wird? Das könnte dir bei der Antwort auf deine Frage ggf. schon ein Stück weiterhelfen bzw. dir Hinweise geben zur weiteren Eigenrecherche. Zitieren
zaid38 Geschrieben 29. August 2021 Autor Geschrieben 29. August 2021 habe schon. Warum steht hier eine Zahl? Char nimmt ein Zeichen ,oder? Aslo warum nicht so? signed char cVal = '100'; , hier 100 als Zeichen und Nicht als zahl. stimmt so? Zitieren
Whiz-zarD Geschrieben 29. August 2021 Geschrieben 29. August 2021 Schon was von Bits und Bytes gehört? Ein Char ist ein Byte. Zitieren
zaid38 Geschrieben 3. September 2021 Autor Geschrieben 3. September 2021 "" Ein Char ist ein Byte."" ich weisß aber warum nich char cval = "100" in char kann man NUR zeichen speichern oder? aber KEINE Integer wenn integer dann geht Beispiel int Zahl = 100 ist ok aber Char val = '100' und nicht 100. oder hier geht NICHT um speicher sondern nur um zu zeigen wie groß ist Zeichen? Leumast reagierte darauf 1 Zitieren
Whiz-zarD Geschrieben 3. September 2021 Geschrieben 3. September 2021 (bearbeitet) Ein Char ist ein Byte. Also eine Zahl von 0 bis 255 (bzw. von -128 bis 127). In der Informatik ist alles eine Zahl. Allerdings repräsentiert jede Zahl auch ein Zeichen. Welche Zahl welches Zeichen repräsentiert findet man in der ASCII-Tabelle. z.B. hat der Buchstabe A den Wert 65. In der folgenden Codezeile würde er also zwei Mal A ausgeben. printf("%c %c", 'A', 65); Die Angabe "100" (100 in Anführungszeichen) ist kein Char, sondern ein String bzw. im Falle von C ein Array von Char. Dieser String besteht aus 3 chars ('1', '0', '0'). Also 3 Bytes. Dass ein Char ein Byte ist, ist auch historisch betrachtet korrekt, da ein Byte die Speichermenge kennzeichnet, die benötigt wird, um ein Zeichen darzustellen. In unserem Fall 8 Bits aber es gab in der Vergangenheit Systeme, die z.B. 6 oder 12 Bits benötigten. Also war bei diesen Systemen 6 oder 12 Bits ein Byte. Bearbeitet 3. September 2021 von Whiz-zarD Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.