Computerarithmetiek

Hoeveel bits zijn nodig om het product van twee niet-ondertekende 8-bitsgetallen zonder overflow weer te geven?

  1. A8 bit
  2. B9 bit
  3. C16 bit
Antwoord en toelichting tonen

Antwoord: C. 16 bit

De grootste waarde van een niet-ondertekend 8-bitsgetal is 255, dus het grootste product is 255 × 255 = 65025. Dit is kleiner dan 2¹⁶ = 65536 en groter dan 2¹⁵ = 32768, dus 16 bit volstaan altijd en 15 bit zijn te weinig. In het algemeen kan het product van een getal van n bit en een getal van m bit met n + m bit worden weergegeven. Daarom is de uitgang van een vermenigvuldiger gewoonlijk twee keer zo breed als de ingangen. 9 bit is de breedte die nodig is voor het resultaat van een optelling (de som heeft n + 1 bit).

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. Welke uitdrukking vermenigvuldigt een geheel getal x met 10 met verschuivingen en optellingen, zonder een vermenigvuldigingsinstructie?
  2. Wat is de juiste reden dat gewone gehele-getaldelers (die het quotiënt bit voor bit bepalen, zoals restoring en non-restoring) doorgaans trager zijn dan vermenigvuldigers?
  3. Wat is het resultaat wanneer bij een 8-bits ondertekend geheel getal −8 (1111 1000) met een rekenkundige verschuiving 1 bit naar rechts wordt geschoven?
  4. Welke combinatie van de resultaten van −7 / 2 en −7 >> 1 (bij rekenkundige verschuiving naar rechts) voor het type int in C is juist?
  5. Wat is in C het resultaat van het aftrekken van 1 van 0 bij een niet-ondertekend 32-bits geheel getal (unsigned int)?