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

Boolean Vs. Byte


Denis Bittencourt Muniz

Pergunta

Olá galera!

Conheço o uso dos tipos Booleanos, inclusive uso muito eles no meu dia-dia.

Sei que, na maioria das lingüagens, o tipo Boolean ocupa 2 bytes de memória e o tipo Byte ocupa 1 byte de memória.

Gostaria de saber: Qual a vantagem do tipo Boolean sobre o Byte? Pois, para representar 'True' e 'False', usaria 1 (ou <> 0) e 0, respectivamente. O Boolean ocupa o dobro de memória. Seria apenas uma questão de conforto? Ou *uso obrigatório*?. Por exemplo:

'Visual Basic 6.0
'Considere: 1(True) e 0(False)
If 1 Then
    MsgBox "True"
Else
   MsgBox "False"
End If

A instrução 'If' faz conversão do valor (numérico) para Booleano? Ou ele (If) reconhece 1 como 'True' e não faz nenhuma conversão para o tipo Booleano.

P.S: Apesar que tipos númericos em 'If' não são válidos para toda linguagem como, por exemplo, Java e C#.

Falows!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Processadores de 32 bits leêm a memória de 4 em 4 bytes, portanto o acesso a um Boolean (com 4 bytes) é mais rápido do que acessar um único byte (afinal de contas, quatro serão lidos mas apenas um será aproveitado). Se fossemos pensar pelo lado da economia, dá pra guardar um boolean em apenas um bit, mas as operações para chegar no bit seriam mais custosas do que ler um byte e mais ainda do que ler 4 bytes.

Outra facilidade é a implementação de um boolean como um subtipo de um inteiro (o que acontece em Python, por exemplo).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Hum.. entendo... Apesar da econômia de memória, o processamento é mais custoso.. Ok! valeu Graymalkin!

Duas últimas:

E em processadores de: 16 bits (creio que seria melhor, em termo de desempenho)? 64 bits (creio que seria bem pior, em termo de desempenho)?

Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

E em processadores de: 16 bits (creio que seria melhor, em termo de desempenho)?

Um boolean com 2 bytes? Sim, já que este seria o tamanho ideal para ele.

64 bits (creio que seria bem pior, em termo de desempenho)?

Um boolean com 2 bytes? Sim, já que o ideal seriam 8 bytes neste caso.

Abraços,

Graymalkin

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...