Dostępna pamięć a rozmiar macierzy

0

Witam. Wkleję tutaj pewne zadanie i jego rozwiązanie, co do którego mam pewne wątpliwości czy jest dobrze rozwiązane:

Pytanie: Jest 1536 MB pamięci i dwie macierze do pomnożenia + docelowa, jakiego max. rozmiaru macierze można pomnożyć ?
Odp: Potrzebujemy miejsca na 3 macierze, więc na jedną macierz przypada max 512MB. Teraz sytuacja zależy od typu zmiennej w tablicy, oraz systemu operacyjnego. Licząc, że przechowujemy inty, na systemie 64 bitowym, jeden int to 8 bajtów.
(512 * 1024 * 1024) / 8 = 67108864.(zamiana na bajty) przez ilość zajmowanego miejsca przez jednego inta = ilość pol w macierzy i z tego pierwiastek kwadratowy Macierze mają dwa wymiary, więc maksymalny rozmiar macierzy to: 8192x8192

Zastanawia mnie czy na pewno to są dobre obliczenia? Int to przypadkiem nie 2 lub 4 bajty? Skąd się wzięło (512 * 1024 * 1024) / 8?
Pytanie nr 2 jakby wyglądały obliczenia gdybyśmy mieli tablicę np. z float'ami?

0

Skąd założenie, że macierze są macierzami kwadratowymi?

0

int musi mieć, zgodnie ze standardem, rozmiar co najmniej chara oraz być w stanie przechowywać szesnastobitowe liczby. Typowo będzie miał cztery bajty, ale nie jest to wymagane.

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