Mam do czynienia z pytaniem do wywiadu dotyczącym systemów wbudowanych i C/C++. Pytanie brzmi:kiedy dwa 16-bitowe dane z podpisem są mnożone, jaki powinien być rozmiar wypadkowej?
Jeśli pomnożymy 2 16-bitowe dane z podpisem (2-częściowym), jaka powinna być wielkość danych wynikowych?
zacząłem próbując go na przykładzie mnożąc dwa podpisał 4-bitowy, więc, jeśli pomnożymy +7
i -7
, możemy skończyć z -49
, która wymaga 7 bitów. Ale nie mogłem sformułować ogólnej relacji.
Myślę, że muszę zrozumieć binarnie mnożyć się głęboko, aby rozwiązać to pytanie.
To pytanie jest niezależne od języka, ale jest przydatne dla programistów C i C++. –