Verwirrung um Datentyp byte

Hallo,

eine Variable vom Datentyp byte kann doch Werte zwischen 2^7-1 und -2^7 annehmen. Wenn ich jetzt 256 Graustufen habe (0-255) und dafür den Typ byte hernehme, wie kriege ich dann positive Zahlen ? Da war doch irgendwas mit Zweier-Komplement oder so.
Bin total verwirrt… &-/

Mfg,

Master.

wie kriege ich dann positive Zahlen ? Da war doch irgendwas mit Zweier-Komplement oder so.

Hmmm, mir fallen drei Sachen ein:

*) Du speicherst den positiven Wert einfach in die byte-Variable. Beim rauslesen tust du den Wert modula 256 nehmen, dann hast du den richtigen, positiven Wert.

*) Du ziehst beim speichern 128 ab und addierst beim herauslesen wieder 128 dazu.

*) Du nimmst einfach eine int-Variable. :smile:

Grüße, Robert