logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[C] char czy int do malych wartosci?

piotrbocian 08 Cze 2009 22:52 914 1
REKLAMA
  • #1 6633082
    piotrbocian
    Poziom 10  
    Witam,
    nie udalo mi sie nigdzie znalezc odpowiedzi na takie pytanie:
    wykonujac w programie wiele obliczen na malych wartosciach (zmiesci sie na 1 bajcie) czy uzywac do tego typu 1 bajtowego char czy 2bajtowego int?

    Wiem, ze teoretycznie im mniejszy typ tym lepiej, ale z drugiej strony wiem, ze wiele procesorow jest optymalizowanych tak aby jak najszybciej wykonywaly obliczenia na typie int (a 1bajtowe zmienne sa rozszerzane w czasie obliczen do 2bajtow, wiec praktycznie nic sie nie zyskuje). Jak to jest w mk AVR?

    I jeszcze jedno, jesli mam funkcje zwracajaca wartosci 0 lub -1, uzywac do tego typu int czy char?

    Dodam, ze projektowana przeze mnie aplikacja jest dosc pamieciozerna dlatego kazda optymalizacja jest wazna, tylko akurat tutaj nie wiem czy warto.
  • REKLAMA
  • #2 6633114
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Skoro AVR jest 8-bitowy to chyba raczej nie ma co liczyć na optymalizację pod dowolny większy typ. Myślę, że to jednocześnie odpowiedź na całą resztę twoich pytań, skoro za faktem 8-bitowości rdzenia idą 8-bitowe operacje (jeśli patrzeć na rozmiar zmiennych), 8-bitowe rejestry i 8-bitowa (z perspektywy użytkownika) pamięć.

    Tak na przyszłość: int ma CONAJMNIEJ 16-bitów, nic nie stoi jednak na przeszkodzie, żeby na jakimś odjechanym w kosmos procesorze miał ich 128.

    4\/3!!
REKLAMA