Kolik čísel můžete reprezentovat se 2 bajty?


Nejlepší odpověď

65536.

Všiml jsem si, že mnoho odpovědí říká věci jako: „můžete reprezentovat čísla od 0 do 65535 ”, ale to je opravdu libovolné. Můžete také představovat všechna čísla od -5 do 65530 nebo všechna sudá čísla od 2 do 131072 nebo všechna čísla 1, 1/2, 1/3,…, 1/65536. Otázkou však je, kolik odlišných čísel lze reprezentovat dvěma bajty?

Pokud jsou k reprezentaci čísel použity dva bajty, znamená to, že definujeme nějakou funkci mapující 65536 možných odlišných hodnot, které tyto dva bajty mohou nabývat, na čísla, která tyto hodnoty představují.

Pokud tato funkce je injektivní, pak má obrázek funkce stejnou velikost jako její doména, takže bude obsahovat 65536 odlišných čísel, která lze reprezentovat. Pokud funkce není injective (více hodnot dvou bajtů se mapuje na stejné číslo), pak je její obraz menší než její doména, takže takové schéma bude představují méně než 65536 odlišných čísel.

(Jeden praktický scénář, ve kterém k tomu může dojít, je, pokud je jeden bit použit jako znakový bit: v takovém případě existují často dvě různé reprezentace čísla 0, jeden s nastaveným bitem znaménka a druhý s volným bitem znaménka.)

Odpověď

Bajt je sada 8 bitů. Jeden bit může být 1 nebo 0. Bajt může být například:

11110000

Název číselného systému je binární. Binární číslo v desítkové soustavě můžete převést kdekoli pomocí tohoto vzorce:

zprava doleva:

(hodnota první číslice) * 2 ^ 0 + (hodnota druhé číslice) * 2 ^ 1 + (hodnota třetí číslice) * 2 ^ 2 +…

Délka bajtu je 2 ^ 8 = 256, od 0 do 255.

Ale, 2 bajty nejsou 512, protože převod obsahuje více číslic. Pro 2 bajty máme 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536

Maximální hodnota je délka – 1. Takže maximální hodnota je 65535!

Omlouvám se za špatnou angličtinu 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *