Hej.
Dlaczego jeśli dodamy najwyższe i najniższe wartości jakie mogą przyjąć poszczególne typy danych (np.byte, int) to wynik (w zależności od tego co do czego dodamy) wynosi 1 lub -1? (Nie pytam o arytmetykę, po prostu zakładam, że musi być jakiś powód, dla którego nie jest to 0 lub np.inna liczba całkowita)
Zastanawiam się tez nad over/underflowem - ten zakres wartości jakie możemy przypisać do zmiennych się jakoś "zapętla"? Czym to jest spowodowane? Jakieś ograniczenia z CPU lub RAMu?
Czy zero w programowaniu (w Javie?) jest rozpatrywane tak jak w matematyce? Tj.zazwyczaj neutralnie? Czy jako liczba dodatnia? Zastanawia mnie dlaczego np.przy byte możemy uzyskać na minusie wartość -128 a na plusie 127 a nie 128. Zero jest doliczane do wartości dodatnich? A może nieujemnych?
Skoro typ danych double jest głównym typem danych dla liczb zmiennoprzecinkowych w Javie, czy muszę dopisywać 'd' za każdym razem, gdy go używam? Czy typ danych float właściwie ma jakieś słuszne zastosowanie, którym powinienem przejmować się na początku nauki zakładając moc dzisiejszych komputerów? Wiem, że zajmuje 2x mniej miejsca w pamięci, ale czy to istotne?
Mogę gdzieś znaleźć jakąś fajną książkę / listę zadań "akademickich", gdzie mógłbym poćwiczyć np.składnię czy po prostu programowanie? Fajnie gdyby to było coś ze wskazówkami czy odpowiedziami.
Pozdrawiam!