Ich habe ein 80 Element char
Array und ich versuche, bestimmte Elemente zu einem integer
und bekomme einige Zahlenfehler. Array-Element 40 in Hex ist 0xC0. Wenn ich versuche, es zu einem integer
zuzuweisen bekomme ich in hex 0xFFFFC0, und ich weiß nicht warum.Konvertieren Element in Char-Array zu Int
char tempArray[80]; //Read in from file, with element 40 as 0xC0
int tempInt = (int)tempArray[40]; //Output as 0xFFFFC0 instead of 0x0000C0
Weil '' 0XC0'' in '' char'' negativ ist und der Cast das Zeichen als '' int'' behält. – aruisdante
'int tempInt = (int) tempArray [40];' -> 'unsigniertes tempInt = (unsigniertes) tempArray [40];' wird den Trick machen. – dasblinkenlight