Ha két 8 bites előjel nélküli számot összeszorzunk, akkor mekkora tárolókapacitású változót kell választani az eredmény tárolására?
A: minimum 4 bájtos
B: 2 bájt
C: 16 bites
D: 7 bites
Kérlek ne csak a helyes választ (vagy válaszokat) írjátok meg, hanem azt is, hogy miért az a helyes válasz, mert szeretném megérteni. Sajnos nem találtam rá választ a jegyzeteim között, és ötletem sincs. Illetve ha nem szorzás lenne a kérdésben, hanem összeadás, akkor hogyan módosulna a válasz? Köszönöm!
Mielőtt válaszolnék röviden, azért megjegyezném, hogy a B és a C az totál ugyanaz, ugyanis 2 bájt az 16 bittel egyenlő...
A válasz meg az: megfogod a szélsőértéket, vagyis a legnagyobb ilyen 8 bites számot (ha nem megy magadtól, számológép segít), megszorzod,összeadod, vagy amit akarsz saját magával, és megnézed mennyi az eredmény. Aztán azt már szintén látod a számológépen ha programozó módba rakod, hogy az hány darab bit...
Csak tudni kell, hogy működik a bináris számábrázolás.
Egy szorzat pozitív számokon akkor a legnagyobb, ha mindkét tényezője a lehető legnagyobb. 8 biten a legnagyobb szám 2^8-1. Ez összeszorozva önmagával 2^16-2^9+1, ami 2-vel több, mint (2^16-1)-2^9, ami 16 hosszú csupa egyes, kivéve, hogy a tizedik bit 0, egyszóval ehhez 16 bit kell. Ha ehhez hozzáadunk kettőt, a szükséges bitek száma nem csökken. De nem is nő, mert az a plusz kettő bőven elfér a 2^9 helyett.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!