Warum erhalte ich -95 beim addieren von char und int?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Ein char ist eine vorzeichenbehaftete 8-Bit-Zahl. Sie liegt zwischen -128 und +127.

Mit einem unsigned char würde das funktionieren. Das liegt zwischen 0 und 255.

Wenn man ein int hätte, dann könnte man 256 addieren, um den Fehler zu korrigieren, so ähnlich, wie Du es versucht hast.

As1an 
Fragesteller
 03.03.2023, 15:39

Achsoo vielen Dank!
Also ist die ASCII Tabelle auch ein unsigned char?

0
tunik123  03.03.2023, 15:43
@As1an

ASCII war ursprünglich ein 7-Bit-Code.

Er wurde später auf 8-Bit erweitert und wird als unsigned char interpretiert. Dass das char in C standardmäßig signed ist, erzeugt immer mal wieder Ärger.

0