Różnica między int a long

Odpowiedz Nowy wątek
2011-08-06 15:28
Ciekawy
0

Jaka jest różnica pomiędzy int a long w C++?

Pozostało 580 znaków

2011-08-06 15:32
0

Chodzi o to?
http://pl.wikipedia.org/wiki/Liczbacałkowita(typ_danych)#Liczby_ca.C5.82kowite_w_C.2C_C.2B.2B


Pozostało 580 znaków

2011-08-06 17:03
Ciekawy
0

Ale tu nie ma różnicy. Przecież long i int mają ten sam zakres oraz tyle samo zajmują.
Więc jaka jest w końcu różnica pomiędzy tymi typami?

Pozostało 580 znaków

2011-08-06 17:06
0

Różnica jest taka:

Na różnych systemach typy całkowite (w tym wypadku) mają rózne rozmiary:
char - zwykle 8 bitów
short - zwykle 16 bitów i nie mniej niż char
int - 16 lub 32 bity i nie mniej niż short
long - zwykle 32 bity i nie mniej niż int
long long - zwykle 64 bity i nie mniej niż long

edytowany 1x, ostatnio: michal_2, 2011-08-06 17:06

Pozostało 580 znaków

2011-08-06 17:14
Kumashiro
0

Łatwo sprawdzić.

#include <stdio.h>
 
int  main(void) {
    printf("ptr: %d\n", sizeof(void*));
    printf("char: %d\n", sizeof(char));
    printf("short: %d\n", sizeof(short));
    printf("int: %d\n", sizeof(int));
    printf("long: %d\n", sizeof(long));
    printf("long long: %d\n", sizeof(long long));
 
    return 0;
}
ptr: 8
char: 1
short: 2
int: 4
long: 8
long long: 8
No tak, ale sprawdzasz konkretną implementację. Jak ktoś chce, żeby kod był przenośny to nie może brać za pewnik tego typu rzeczy. - Rev 2011-08-06 17:16
To chyba oczywiste, że wyniki są zależne od architektury. Wyjście jest tutaj przykładowe, dlatego m.in. dałem też rozmiar wskaźnika. - Kumashiro 2011-08-06 17:28

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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