Keresés

Új hozzászólás Aktív témák

  • buherton

    őstag

    válasz don_peter #4641 üzenetére

    Általában a char 8 bites szokott lenni, ami ugye 1 bájt (unsigned 0 - 255). A short int 16 bites, ami ugye 2 bájt (usnigned 0 - 65535). Az int 32 bites, ami ugye 4 bájt (unsigned 0 - 4 G).

    Ha te egy unsigned char-ba teszel 256-t, akkor abban a változóban 0 lesz az értékadás után, mert átvitel fog képződni (signed esetén ezt túlcsordulásnak hívják). Ha te 255-nél nagyobb számot akarsz letárolni, akkor muszáj használnod a short int-et. Vagy char tömbbe is letárolhatod, és akkor rugalmasan lehet bővíteni. Például én most SPI-al akarok meghajtani 6 shift regisztert, ahol char tömbben tárolom le az egyes shift regiszterek bájtait.

    Ismerkedj meg a struktúrával. Például:

    typedef struct
    {
    unsigned short int temperature_min;
    unsigned short int temperature_max;
    unsigned char foo_bar[32];
    } FOO_BAR_S;

Új hozzászólás Aktív témák