Operacje matematyczne bez operatorów matematycznych i funkcji

0

Siemka, mam taki problem mam zadanie w którym "W kodzie NIE MOŻNA używać ŻADNYCH funkcji ani operacji matematycznych (zarówno wbudowanych jak i z bibliotek zewnętrznych). Masz zaimplementować wszystkie metody samodzielnie.
Np. implementacja metody add w następujący sposób:

int add(int x, int y){
return x+y;
}

jest NIEPRAWIDŁOWA i nie będzie akceptowana." no i wymyśliłem ze z int zrobie byte i potem result=byteX&byteY; ale dostaje cały czas byte od X.
no i np 4+4 daje mi 4 :P
image.
co robię źle z góry dzieki :P
edit. To zadanie na 1 etap stażu podobno do ogarniecia w 4 h spokojnie wiec wydaje się ze to nie może być coś bardzo skomplikowanego .

4

Co to jest funkcja matematyczna?
Bo dla mnie f (X,Y)= X & Y jest zupełnie matematyczna.

Tak czy siak, możesz wprowadzić matematykę korzystając z pojęcia lambdy:
Wtedy, nie tylko, że nie potrzebujesz + ani -, ale nawet nie potrzebujesz intów i innych typów. Sam sobie wszystko co potrzebne robisz.
Zobacz: rachunek lambda

To działa też w javie.

Poza tym, wrzucanie kodu jako obrazek i to w 640x680 raczej nie pomaga zobaczyć z czym masz problem :-)
Poza tym 4&4==4, a czego byś chciał innego?

2

Oprócz rachunku lambda jest jeszcze Maszyna Move, ale naprawdę nie rozumiem jak to działa. Zrozumienie tego jest gdzieś tam na mojej liście. Przykłady różnych Maszyn Move:

Update:
No chyba że zadanie polega że masz zaimplementować operacje arytmetycznych za pomocą operacji logicznych i przesunięć.
Wtedy sprawa sprowadza się do budowy sumatora z ANDa, ORa, XORa i przesunięcia bitowego. BTW ciekawy problem :P
BTW na wikipedi podpisali półsumator jako półpełny sumator :D

0

W kontekście jakich zajęć masz to ćwiczenie? Na screenie jest jakiś kalkulator, może zwyczajnie chodzi o implementację działań "pisemnie", zamiast korzystać z BigDecimal itp. ?
Możesz objeść systemowe *,+ itd. trzymając jakieś lookup table dla cyfr.

Addition_LookupTable [][] 
Multiplication_LookupTable [][]
...

I oprzeć implementację pisemną o takie tablice.

Chyba, że chodzi o zupełnie coś innego :)

0

Autor zadania mógłby konkretniej napisać o co mu chodzi. Pamiętam, że my mieliśmy na studiach kiedyś takie zadanko w C++, że chodziło wykładowcy o to, żeby zamiast znaków matematycznych działania wykonywały się przy użyciu słów np. "PLUS", "MINUS" itd. Tam chodziło o przeciążanie operatorów. Teraz pytanie, czy to ma działać w Javie, czy sobie po prostu sam wybrałeś ten język do wykonania zadania?

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