Frage : endian

Wie dieses prüfen kann, ist m/c kleines/grosses endian.

int numerisches = 1;
if (* (Putzfrau *) &num == 1)
{
printf („\ nLittle-Endian \ n " );
}
else
{
printf („Groß-Endian \ n“);
}

what, genau, das diese Linie tut?
if (* (Putzfrau *) &num == 1)

Antwort : endian

Hallo learningunix,

die Linie überprüft, ob das am weitesten links liegende Byte von „numerischem 1““ ist „.

„&num“ ist ein Zeiger zur Speicheradresse, in der das erste Byte von „numerischem“ liegt. „(Char*)“ wirft diesen Zeiger „&num“ (der ein Zeiger zu int ist), zu einem Zeiger, um zu verkohlen. Da Putzfrau eine ein-zurückgreifende Byte-Datenart dass „Zeiger, um mit „*“ Zugängen das erste Byte des int zu verkohlen“ ist. In endian wenig muss dieses Byte „1“ für und „int“, der „1“ ist - in grossem endian sein das erste Byte sein „0“, da das wenige bedeutende Byte ist nach rechts das…

Hoffen, dass Hilfen,

ZOPPO

Weitere Lösungen  
 
programming4us programming4us