Pytanie : endian

Jak móc/>int m/c być mały/duży endian.

int duży = (1);
if (* (char *) &num == 1)
{
printf ("\ nLittle-Endian \ n " );
}
else
{
printf ("Duży-Endian \ n");
}

what dokładnie ten linia robić?
if (* (char *) &num == 1)

Odpowiedź : endian

Cześć learningunix,

the linia sprawdzać jeżeli the być bajt "num" być "(1)".

"&num" być pointer the pamięć adres dokąd the pierwszy bajt "num" przebywać. The "(char*)" ciskać ten pointer "&num" (che być pointer int) pointer. Ponieważ char być jeden bajt dane typ dodzwonienie który "pointer" z "*" dostęp the pierwszy bajt the int. W mały endian ten bajt musieć "(1)" dla i "int" che być "(1)" - w duży endian the pierwszy bajt być "(0)" ponieważ the mały znaczący bajt być the najwięcej prawy jeden…

Mieć Nadzieję że pomoc,

ZOPPO

Inne rozwiązania  
 
programming4us programming4us