Czy na dzisiejszych maszynach jest sens stosować zmienne uint8_t albo uint16_t i czy może to spowolnić program bo w końcu zmienna przykładowo ma 32 bity i procesor ma architekturę 32 bity to procesor może mieć problemy ze zmienną co ma 8 bitów .
Nie wiem czy dobrze opisałem problem ;(
Nie zapominaj że istnieje nie tylko jeden słuszny system operacyjny oparty na jedynie słusznym procesorze.
Istnieje też seria Atmel oraz inne.
Tak. Wszędzie tam, gdzie nie mamy do dyspozycji dużych ilości pamięci; systemy wbudowane
kacper546 napisał(a):
Czy na dzisiejszych maszynach jest sens stosować zmienne uint8_t albo uint16_t i czy może to spowolnić program bo w końcu zmienna przykładowo ma 32 bity i procesor ma architekturę 32 bity to procesor może mieć problemy ze zmienną co ma 8 bitów .
Nie wiem czy dobrze opisałem problem ;(
Nie do celu, który opisałeś. Od tego masz np. uint_fastX_t
, który zapewnia najszybszy dla danej platformy typ zawierający co najmniej X
bitów.
Używanie tych typów jest jak najbardziej sensowne. Dzięki nim można np. dokładnie kontrolować wynikową wielkość struktur, lub gwarantować pewne zachowania (np. wrap around na numeric_limits<T>::max()+1
dla typów bez znaku).