Legjobb válasz
65536.
Sok olyan választ veszek észre, hogy „képviselhet számok 0-tól 65535-ig ”, de ez valóban önkényes. Képviselheti az összes számot -5 és 65530 között, vagy az összes páros számot 2 és 131072 között, vagy az összes számot 1, 1/2, 1/3,…, 1/65536. De az a kérdés, hogy hány különböző számot lehet két bájttal képviselni?
Ha két bájtot használunk a számok ábrázolásához, ez azt jelenti, hogy meghatározunk néhány függvényt, amely leképezi a 65536 lehetséges különálló értéket, amelyet ez a két bájt felvehet, azokra a számokra, amelyeket ezek az értékek képviselnek. ez a függvény injektív, akkor a függvény képe azonos méretű, mint a tartománya, így 65536 különálló ábrázolható számot tartalmaz. Ha a függvény nem injektív (a két bájt több értéke ugyanarra a számra képződik), akkor a képe kisebb, mint a tartománya, így egy ilyen séma kevesebb, mint 65536 különálló számot képvisel.
(Az egyik gyakorlati forgatókönyv, amelyben ez megtörténhet, ha egy bitet előjelbitként használunk: ilyen esetben gyakran két különböző ábrázolás létezik a 0 számra, az egyikben az előjelbit be van állítva, a másikban pedig az előjel bit tiszta.)
Válasz
A bájt 8 bites halmaz. Egy bit lehet 1 vagy 0. Például egy bájt lehet:
11110000
A számrendszer neve bináris. Bármely bináris számot tizedesre konvertálhatja a következő képlettel:
jobbról balra:
(első számjegy értéke) * 2 ^ 0 + (második számjegyű érték) * 2 ^ 1 + (harmadik számjegyű érték) * 2 ^ 2 +…
A bájt hossza 2 ^ 8 = 256, 0-tól 255-ig.
De, 2 bájt nem 512, mert az átalakítás több számjegyet tartalmaz. 2 bájtra 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536
A maximális érték a hossz – 1. Tehát a maximális érték 65535!
Elnézést a rossz angol nyelvért 🙂