Obliczyć sumę bez znaku

0

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

0

1.) Jak mam rozumieć podane w zadaniu oblicza bez znaku ?

Coś czuję że tu chodzi o obliczenie bez użycia +.-,* i /.
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html
Na YT jest trochę filmów na temat użycia bitwise operators do działań.

0

Widzę tu metodę shortToUnsignedInt, Sprawdzałes co to?
Edit: Dopiero to zobaczyłem na kompie, na telefonie coś mi się zlało:). Ta metoda shortToUnsignedInt nie ma znaczenia, ona jest tylko do drukowania. A co do zadania, java nie ma typów unsigned, więc nic nie można zrobić, to co jest na githubie nie gwarantuje, że wyniki operacji będą unsigned(biorąc pod uwagę jak java radzi sobie z under i overflow), raczej są bezsensowne.

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