Bästa svaret
65536.
Jag märker att många svar säger saker som ”du kan representera siffror från 0 till 65535 ”, men det är verkligen godtyckligt. Du kan också representera alla nummer från -5 till 65530 eller alla jämna nummer från 2 till 131072, eller alla nummer 1, 1/2, 1/3,…, 1/65536. Men frågan är hur många distinkta siffror kan representeras av två byte?
Om två byte används för att representera siffror, betyder det att vi definierar någon funktionskarta för 65536 möjliga distinkta värden som dessa två byte kan ta till de siffror som dessa värden representerar.
den funktionen är injektiv, då har bilden av funktionen samma storlek som dess domän, så den kommer att innehålla 65536 distinkta nummer som kan representeras. Om funktionen är inte injektiv (flera värden för de två byten mappar till samma nummer), är dess bild mindre än domänen, så ett sådant schema kommer att representerar färre än 65536 distinkta nummer.
(Ett praktiskt scenario där detta kan hända är om en bit används som en teckenbit: i ett sådant fall finns det ofta två olika representationer av numret 0, en med teckenbituppsättning och en med teckenbit klar.)
Svar
En byte är en uppsättning på 8 bitar. En bit kan vara 1 eller 0. En byte kan vara, till exempel:
11110000
Namnsystemets namn är binärt. Du kan konvertera valfritt binärt tal med ett decimal med hjälp av denna formel:
från höger till vänster:
(första siffrans värde) * 2 ^ 0 + (andra siffrans värde) * 2 ^ 1 + (tredje siffervärde) * 2 ^ 2 +…
Längden på en byte är 2 ^ 8 = 256, från 0 till 255.
Men, 2 byte inte är 512, eftersom konverteringen innehåller fler siffror. För 2 byte har vi 2 ^ 16 = 2 ^ 8 * 2 ^ 8 = 256 * 256 = 65536
Maximivärdet är längden – 1. Så maxvärdet är 65535!
Ledsen för min dåliga engelska 🙂