Czytam książkę w której jest takie zadanko:
Napisz program, który wczytuje dwie liczby z zakresu od 0 do 65 535, zapisuje je
w zmiennych typu short, a następnie oblicza bez znaku ich sumę, różnicę, iloczyn,
iloraz i resztę z dzielenia bez konwertowania ich do typu int.
Staram się je wykonywać wszystkie bez wyjątku. W przypadku problemów posiłkuje się repozytorium Pana Diego Alejandro Torres Fuerte. Stąd też pochodzi ten kawałek kodu:
short sAddition = (short) (s1 + s2);
short sDiff = s1 > s2 ? (short) (s1 - s2) : (short) (s2 - s1);
short product = (short) (s1 * s2);
short quotient = (short)(s1/s2);
short remainder = (short)(s1%s2);
System.out.println(String.format("Addition: %d", Short.toUnsignedInt(sAddition)));
System.out.println(String.format("Difference: %d", Short.toUnsignedInt(sDiff)));
System.out.println(String.format("Product: %d", Short.toUnsignedInt(product)));
System.out.println(String.format("Quotient: %d", Short.toUnsignedInt(quotient)));
System.out.println(String.format("Remainder: %d", Short.toUnsignedInt(remainder)));
Mam jedno pytanie:
1.) Jak mam rozumieć podane w zadaniu oblicza bez znaku
? skoro Java doesn't have any unsigned data types, except char