Ja.
Ja, und es würde die anschließende Maskierung nicht nutzlos machen, sondern notwendig machen.Würde dabei nicht das vorzeichenbit ganz nach vorne rutschen und die anschließende Maskierung nutzlos werden?
Beispiel: Der "unsigned int"-Wert ist 0xFFFFFFFE. Der wird als "int" an die Funktion übergeben, also als -2. Nach "long" gecastet ist dies natürlich immer noch -2, also intern 0xFFFFFFFFFFFFFFFE. Wir wollen aber 0xFFFFFFFE als Ergebnis, also nur die untersten 32 Bit, daher die Maskierung.
Lesezeichen