Czy jest sens w uzywaniu innych typow niz INT?

0

Witam, jakis czas tematu całkiem niechacy wpadłem na watek o Javie w którym autor pytał jaki jest sens uzywania innych typow od int (numerycznych oczywiscie) skoro w bajtkodzie i tak przed obliczeniami zmienne sa zamieniane na typ int (czyli nie ma dyrekty typu d_store, f_store tylko jest i_store).
A wiec moje pytanie do ekspretow, czy faktycznie tak to jest? Czyli ze np. zmienna typu short tak naprawde zajmuje tyle samo miejsca co inna zmienna typu int?

0

Są przecież instrukcje JVM operujące na shortach:
sipush (wrzuca shorta na stos),
i2s (dokonuje konwersji int->short),
saload/sastore (do operacji na tablicach typu short).

0

Zmienna typu short zajmuje 16-bitów, natomiast int zajmuje aż 32-bitów, Jeżeli nie masz pewności przy wyliczeniach, że coś jest przeliczane na int lub short, możesz stosować takie coś:

short sum =(short) 2 + 5;

a tak to często po co wykorzystywac inta, jak wystarczy short.

ale to raczej nie ma sensu,
tabela zmiennych:

Typ Rozmiar Zakres
char 16-bit od Unicode 0 do Unicode 216-1
byte 8-bit od -128 do 128
short 16-bit od -32,768 do 32,767
int 32-bit od -2,147,483,648 do 2,147,483,647
long 64-bit od -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807

Tyle starczy :P

0

Ok czyli rozumiem ze jednak zmienne maja rozny rozmiar w pamieci. Dzieki wielkie za rozwianie watpliwosci ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1