Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zmienna typu całkowitego bez ograniczenia wartości

Ostatnio zmodyfikowano 2013-01-04 05:36
Autor Wiadomość
jsc
» 2013-01-03 18:01:53
@Up
Musisz wziąć poprawkę na to, że nie zawsze wyniki pośrednie zmieszczą się w nawet największych intach, więc takie liczby trzeba "ciąć" na fragmenty strawne dla procesora i to na nich operować.
P-72830
m4tx
» 2013-01-03 18:07:23
@Iname W jaki sposób?:)
Normalnie, wielkości te zależą od kompilatora, systemu, platformy, itd...
P-72831
Mrovqa
» 2013-01-03 19:50:09
Co do dużych liczb to nie radzę bawić się w stringi - pamięciożerne i wolne. Na main.edu.pl w kursie algorytmiki jest tzw. własna arytmetyka - radzę tam zajrzeć :)

@Iname W jaki sposób?:)
Największe wpływ na wielkość zmiennych ma architektura. Na x86 mimo tego, iż np. char ma 1 bajt to na stosie i tak zostanie dopełniony do 4 bajtów (podobnie jest przy strukturach i tablicach), bo procesor po prostu szybciej adresuje komórki o adresie podzielnym przez 4. System i tak musi działać na danej architekturze, ale można pobawić się w zmianę wielkości zmiennych. Bodajże w pythonie nie ma czegoś takiego jak Integer (Over|Under)flow - zmienna jest po prostu w trakcie programu "rozciągana w pamięci" (dynamicznie doalokowanie pamięci). Jeżeli chodzi o kompilator - on praktycznie musi się przystosować do systemu na jakim działa, ale jego stosunek do systemu jest taki, jak systemu do architektury - może sobie wygenerować kod, który - jak miałeś za przykład pythona - będzie automatycznie powiększał zmienne. Dlaczego mimo to, iż to jest możliwe, to tego nie ma? Jest to po prostu niepotrzebne i mniej wydajne (więcej danych = dłuższy czas ich przetwarzania).
P-72856
withelm
» 2013-01-04 05:36:33
P-72886
1 « 2 »
Poprzednia strona Strona 2 z 2