Lar Finanças Pessoais Expressando números binários em C ++ - dummies

Expressando números binários em C ++ - dummies

Índice:

Vídeo: Análise de Algoritmos - Recursividade 2024

Vídeo: Análise de Algoritmos - Recursividade 2024
Anonim

As variáveis ​​C ++ são armazenadas internamente como os chamados números binários. Os números binários são armazenados como uma seqüência de valores de 1 e 0 conhecidos como bits. Na maioria das vezes, você realmente não precisa lidar com números no nível de bits; no entanto, há ocasiões em que isso é conveniente. C ++ fornece um conjunto de operadores para esse fim.

Os chamados operadores lógicos bit a bit operam em seus argumentos no nível de bits. Para entender como eles funcionam, examine como os computadores armazenam variáveis.

O sistema de números decimais

Os números que você conhece são conhecidos como números decimais porque eles são baseados no número 10. Em geral, o programador expressa C ++ variáveis ​​como números decimais. Assim, você diria que o valor de var é 123, por exemplo.

Um número como 123 refere-se a 1 * 100 + 2 * 10 + 3 * 1 . Cada um desses números de base - 100, 10 e 1 - é um poder de 10.

123 = 1 * 100 + 2 * 10 + 3 * 1

Expresso de forma ligeiramente diferente, mas equivalente:

123 = 1 * 10 2 + 2 * 10 1 + 3 * 10 0

Lembre-se de que qualquer número para a potência zero é 1.

Outros sistemas de números

O uso de um número base de 10 para O sistema de contagem deriva, com toda a probabilidade, do fato de que os humanos possuem 10 dedos, as ferramentas de contagem originais. A alternativa teria sido a base 20.

Se os cães haviam inventado nosso esquema de numeração, pode ter sido baseado no número 8 (um dígito de cada pata está fora da vista na parte traseira da perna). Esse sistema octal teria funcionado igualmente:

123 10 = 1 * 8 2 + 7 * 8 1 + 3 * 8 0 = 173 8

Os 10 e 8 pequenos referem-se ao sistema de numeração, 10 para decimal (base 10) e 8 para octal (base 8). Um sistema de contagem pode usar qualquer base positiva.

O sistema do número binário

Os computadores têm essencialmente dois dedos. (Talvez seja por isso que os computadores são tão estúpidos: sem um polegar oponível, eles não conseguem entender nada. E, novamente, talvez não.) Os computadores preferem contar usando a base 2. O número 123 10 seria expresso como:

123 10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1

= 01111011 < 2 É sempre uma convenção para expressar números binários usando dígitos binários 4, 8, 32 ou 64, mesmo que os dígitos iniciais sejam zero. Isso também é devido à forma como os computadores são construídos internamente.

Como o termo

dígito refere-se a um múltiplo de dez, um dígito binário é chamado de bit . O termo decorre do dígito binário (b-) (-it).Oito bits compõem um byte. Uma palavra geralmente é dois ou quatro bytes. Com uma base tão pequena, é necessário usar um grande número de bits para expressar números. É inconveniente usar uma expressão como 01111011

2 para expressar um valor tão mundano como 123 10 . Os programadores preferem expressar números por unidades de bytes ou oito bits. Um único dígito de quatro bits é essencialmente base 16, porque quatro bits podem expressar até qualquer valor de 0 a 15. Base 16 é conhecido como o sistema de contagem

hexadecimal . Hexadecimal é frequentemente contratado para simplesmente hex. Hexadecimal usa os mesmos dígitos para os números de 0 a 9. Para os dígitos entre 9 e 16, o hexadecimal usa as primeiras seis letras do alfabeto: A para 10, B para 11 e assim por diante. Assim, 123

10 torna-se 7B 16 . 123 = 7 * 16

1 + B (ie, 11) * 16 0 = 7B 16 Como os programadores preferem expressar números em 4, 8, 32 ou 64 bits, eles preferem expressar números hexadecimais em 1, 2, 4 ou 8 dígitos hexadecimais, mesmo quando os dígitos iniciais são 0.

Finalmente, é inconveniente expressar um número hexadecimal como 7B < 16

usando um subíndice, porque os terminais não suportam subíndices. Mesmo em um processador de texto, é inconveniente alterar fontes de e para o modo de subíndice apenas para digitar dois dígitos. Portanto, os programadores usam a convenção de começar um número hexadecimal com um 0x (o motivo dessa convicção estranha remonta aos primeiros dias de C). Assim, 7B torna-se 0x7B. Usando esta convenção, 0x7B é igual a 123 (enquanto 0x123 é igual a 291.) Todos os operadores matemáticos podem ser executados em números hexadecimais da mesma forma que são aplicados em números decimais. A razão pela qual não podemos realizar uma multiplicação como 0xC * 0xE em nossas cabeças tem mais a ver com as tabelas de multiplicação que aprendemos na escola do que com qualquer limitação no sistema de números.

Expressando números binários em C ++ - dummies

Escolha dos editores

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

Filmando fotos em situações especiais com Canon Rebel Série T3 Câmeras - manequins

ÀS vezes haverá não há problema em tirar o seu Canon Rebel T3 ou T3i fora e tirar fotos com configurações automáticas. A maior parte do tempo, você pode fazer com alguns ajustes simples. Alguns assuntos e situações de filmagem apresentam alguns desafios adicionais que exigem combinações de configurações mais complicadas. ...

Escolha dos editores

Obtendo o WordPress. org Software - dummies

Obtendo o WordPress. org Software - dummies

Depois de classificar seu host e domínio do site, você deve baixar e extrair os arquivos do WordPress pela WordPress. org e colocá-los no seu computador. Escolha um lugar que você lembrará, como um diretório de Documentos ou Download. Siga estas etapas: aponte seu navegador para o WordPress. org. A página principal do WordPress aparece. Clique em ...

Google AdSense para Bloggers de Mom - dummies

Google AdSense para Bloggers de Mom - dummies

Google O AdSense não é uma rede de anúncios orientada para a mãe, nem é A melhor opção de publicidade para a maioria dos blogs da mãe. Há certamente exceções a isso, especialmente se você blogar sobre produtos ou marcas. Todos os blogueiros que exibem publicidade devem ter um provedor de anúncios de backup - e o AdSense é uma ótima solução para essa necessidade. AdSense aprova ...

Relatório de conteúdo principal do google Analytics - dummies

Relatório de conteúdo principal do google Analytics - dummies

O relatório Top Content é um dos relatórios mais importantes no Google Analytics. Este relatório mostra as postagens mais populares no blog da sua mãe. Seu conteúdo popular dá uma visão do porquê seus leitores chegam até você. Os tópicos dessas postagens indicam o que as pessoas gostam, mesmo quando não comentam. Para visualizar ...

Escolha dos editores

Como fazer uma imagem disparar um link - as manequins

Como fazer uma imagem disparar um link - as manequins

Usam imagens para navegação . Eles são mais bonitos que os links de texto simples, e você pode adicionar a forma e a função na sua página com um elemento. Para criar uma imagem que desencadeia um link, você substitui um elemento no lugar do texto ao qual você ancoraria seu link. Esta marcação liga o texto: ...

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

Como abrir links em novos Windows ou Tabs com HTML5 - dummies

O A web funciona porque você pode vincular páginas em seu site para páginas nos sites de outras pessoas usando um elemento de âncora simples. Quando você liga para o site de outra pessoa, você envia usuários para longe de seu próprio site. Para manter os usuários no seu site, HTML pode abrir a página vinculada em uma nova janela ...

Como criar tabelas em HTML5 - dummies

Como criar tabelas em HTML5 - dummies

O recipiente de marcação primária para tabelas em HTML é a tabela elemento. Ou seja, você usa a tag de abertura para denotar o início de uma tabela e você adiciona a tag de fechamento para encerrá-la. Além disso, os blocos de construção básicos para dados de tabela em HTML são a linha da tabela ( ) e os dados da tabela ...