Wpis z mikrobloga

@ukaszukasz:
sizeof(char) == 1
uint8t - unsigned 8 bit (nie znam przypadku gdzie sizoef(uint8t) != 1, bajty musiałyby być < 8 bit)
int - bardzo architecture dependent. sizeof(char) <= sizeof(short) <= sizeof(int)
  • Odpowiedz
@ukaszukasz: char oprócz bycia typem liczbowym ze znakiem jest też typem znaku. uint8_t jest bez znaku (przedział [0, 255] zamiast [-128, 127]). int teoretycznie jest zależny od architektury, w praktyce prawie wszędzie ma 32 bity, ale może też mieć 64 (a czysto teoretycznie - prawie dowolnie).
  • Odpowiedz
@TheNewIcek: Racja, przeoczyłem to. Jak się do tego co napisałem doda "w przypadku architektur co najmniej 32-bitowych", to chyba powinna być prawda, ale mikrokontrolery rzeczywiście się nie łapią.
  • Odpowiedz
@frax: char nie jest typem ani ze znakiem ani bez znaku (jeśli chodzi o gwarancje) - w zasadzie nie ma nigdy pewności, jeśli nie ustawisz w parametrach kompilatora, czy char będzie signed, czy unsigned.
  • Odpowiedz
@ukaszukasz: int przechowuje liczbe 16 bitowa, uint8_t liczba 8 bitowa,czyli od 0 i wyzej, oba typy przechowuja liczby calkowite, a char to typ, ktory sluzy do przechowywania znakow np. sposob uzycia, char znak = 'a';
  • Odpowiedz