Siema, zastanawiam się nad pewną rzeczą.
Uczę się właśnie z kursu na courserze, odnośnie budowy komputera od podstaw, jestem na etapie "budowania" ALU.
Na wejściu ALU mamy dwie szyny 16 bitowe, w zależności od różnych bitów wykonywane są różne operacje, jedną z nich jest negacja - wejścia A lub wejścia B - zerowanie bitów, a także sumowanie tych dwóch liczb.
Problem jest następujący, do ALU wchodzą dwie liczby A: 16 zer i B: 16 jedynek.
Na obu tych liczbach ma zostać wykonana najpierw operacja zamiany wszystkich bitów na zera, później zanegowania tych wyników, następnie operacja dodawania i na koniec negacja wyniku dodawania.
Zadziałajmy na wejściu A:
Najpierw zerujemy bity, co nie zmieni nam naszej liczby, później, z kodu uzupełnień do 2 mając na wejściu A 16 zer, ich negacja będzie wyglądać następująco, zmieniamy wszystkie bity na przeciwne i dodajemy 1, bit przeniesienia "utniemy", więc zostanie na powrót 16 zer.
Teraz wejście B:
Najpierw je zerujemy, mamy 16 zer, a później te 16 zer negujemy i dodajemy 1, więc tak jak w przypadku A, mamy na powrót 16 zer.
Teraz dodajemy do siebie te dwie liczby, 16 zer i 16 zer da nam w wyniku 16 zer, na koniec wynik negujemy, więc mamy 16 jedynek, dodajemy 1 i mamy na powrót 16 zer.
Tylko, że prawidłowy wynik według tabeli autorów kursu to 1, a nie 0.
Mógłby mi ktoś wytłumaczyć o co chodzi, byłbym bardzo wdzięczny :)