Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Valores de Bits em programação


Rogério Shoiti

Pergunta

Pessoal, estou com dúvidas quantos ao número de bits em programação C/C++.

Um exemplo: 16 bits. Na programação C ele varia de -32768 a 32767, segundo o livro "A Bíblia C/C++" diz.

Eu penso assim: Se o sinal de "-" representa 1 bit, então restam 15 bits. Se desenvolvermos esse valor e convertermos para decimal, teremos um valor de 32767 mais um sinal de - para representá-lo como negativo, ou seja, -32767. Então como ele assume o valor de -32768?

Se consideramos -32768 e seguirmos a lógica do bit de sinal, então esse número será igual a 17 bits!! :blink: (1 bit de sinal + 16 bits (2^15 até 2^0)

Já a parte positiva tem lógica, pois com valor zero no bit de sinal, assume-se valores positivos, assim restam 15 bits que resultam em 32767.

muito obrigado a quem puder me ajudar :P

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Não sei se entendi muito bem a dúvida. Você está querendo saber porque os números negativos de 16 bits vão até -32768 e os positivos até 32767 ?

Isso ocorre porque 2 ^ 16 = 65536.

Á princípio poderíamos tentar dividir esse número igualmente entre negativos e positivos, mas devemos nos lembrar do zero.

Então se somarmos os 32768 negativos, o 0 e os 32767 positivos iremos ter 2 ^ 16 (65536).

No caso de um valor boleano, por exemplo, temos o -1 (true) e o 0 (false)

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiramentnte obrigado por responder Jonathan Queiroz!!

Deixa eu ver se entendi:

Então se somarmos os 32768 negativos, o 0 e os 32767 positivos iremos ter 2 ^ 16 (65536).

2^16 = 65536 certo? Então se dividirmos esse valor pela metade obteremos 32768 para cada lado (+ e -)

Para os números positivos ele vai de 0 a 32767; (existem 32768 n°s inclusive o 0)

Para os números negativos ele vai de -32768 a -1, pois não existe -0; (existem -32767 n°s, pois não existe -0. Se considerarmos somente o zero daí existirão -32768 elementos)

Ficaria assim então: -32768, ..., -1, 0, 1, ..., 32767

Está certo o jeito que penso?

Obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...