Você pergunta como representar 256 em binário, mas estou imaginando por que as pessoas dizem que bytes podem armazenar 256 números diferentes, quando o maior número que eles armazenam é 255. Como Claudiop disse, os computadores começam a contar a 0 , então 0 é na verdade o primeiro número, 1 é o segundo, 2 é o terceiro ... 255 é o 256º.
Além disso, 11111111 é apenas 255 para bytes não assinados. Quando você tem um byte com sinal (um valor sinalizado é aquele que pode conter valores negativos), 11111111 é, na verdade, -1. Consulte o link . A maneira como o complemento de dois funciona, adicionando um número negativo a um número positivo resulta em 0. Como outras pessoas disseram, se adicionarmos um pouco a 11111111, e seu tipo de dados só pode suportar 8 bits, o último bit transbordará e deixará você 0. Para bytes assinados, os valores vão de -128 a 127. 128 números negativos + 0 + 127 números positivos = 256 números no total.
Para valores assinados, o primeiro bit é o bit "sinal". Se este bit estiver definido, o número é negativo. 10000000 é negativo, 01000000 é positivo, 11111111 é negativo, 01111111 é positivo ...
Se você estiver no Windows (talvez o Mac também), você pode abrir a calculadora, mudar para o modo programador, escolher sbyte e brincar com os bits para ver como eles se correlacionam com suas representações decimais. / p>