Noções básicas de binário para c programação
Felizmente, você não tem que programar qualquer dispositivo digital, escrevendo código de baixo nível, lançando interruptores, ou fios de solda. Isso porque a programação de hoje C acontece em um nível superior. Mas ainda assim, profundamente dentro da máquina, que tipo de codificação de baixo nível continua. Você só está isolado da sopa primordial de uns e zeros a partir do qual todos os softwares sobe.
Conteúdo
Video: Números Binários
Introdução ao binário
Os dígitos binários, ou pedaços, são 1 e 0. Sozinho, eles são débil mas em grupos, eles reunir grande poder. armazenamento digital usa esses bits em grupos.
Prazo | C variável | Bits | Valor Faixa Unsigned | Range Value Assinado |
---|---|---|---|---|
Pouco | _Bool | 1 | 0-1 | 0-1 |
Byte | Caracteres | 8 | 0 a 255 | -128 a 127 |
Palavra | short int | 16 | 0 a 65.535 | -32.768 a 32.767 |
Longo | long int | 32 | 0 a 4294967295 | 2,147,483,648 a 2.147.483.647 |
A vantagem de agrupar os bits em bytes, palavras, e assim por diante é que os torna mais fáceis de manusear. O processador pode lidar melhor com a informação em pedaços. Como pedaços obter os seus valores é baseado em potências de 2.
Expressão | Valor decimal | Valor binário |
---|---|---|
20 | 1 | 1 |
21 | 2 | 10 |
22 | 4 | 100 |
23 | 8 | 1000 |
24 | 16 | 10000 |
25 | 32 | 100000 |
26 | 64 | 1000000 |
27 | 128 | 10000000 |
Ver a gama de valores que podem ser armazenados em 8 bits, ou um byte. É a mesma gama que você encontraria em uma variável de char linguagem C. De fato, se você total Coluna 2, você obtém 255, que é o número de bits em um byte.
Na verdade, você vai encontrar 256 valores possíveis para um byte, que inclui a todos de zero permutação. Isso é um valor bem.
Abaixo mostra como as potências de 2 mapa para o armazenamento binário. Assim como casas decimais em um aumento de número de base 10 por potências de 10, bits em um aumento de número binário por potências de 2, leitura da direita para a esquerda.
Cada bit que está definido, ou tem o valor 1, representa uma potência de dois: 25, 23, 21, e 20. Quando você multiplicar esses valores por suas contrapartes decimais e, em seguida, somam-los, você começa a representação decimal do binário 00101011, que é de 43.
Isso é tudo muito bem, mas por favor não memorizá-lo!
Não se preocupe com traduzir binário em decimal valores- o computador faz esse trabalho para você o tempo todo. Na verdade, o computador vê apenas binário e, em seguida, exibe números decimais como uma cortesia para os seus olhos humanos. Mas quando você manipula valores binários, que ajuda a saber o que está acontecendo.
Alterar o valor de um bit a 1 é referido como definindo o bit.
Alterar o valor de um bit para 0 é referido como redefinir um pouco.
Video: 23 - Lógica de Programação - Pesquisa Binária em Vetores (Arrays)
Como exibir valores binários
Para melhor fazer sentido de operadores de manipulação de binários da linguagem C, que ajuda a ver um número binário em ação. A função printf () não tem um caractere de conversão binário, ea biblioteca C não hospeda uma função de saída de binário. Não, para ver um número binário, você tem que elaborar a sua própria função.
o binbin () Função apresenta uma função de saída binário chamado binbin (). A função binbin (), na Linha 15 em O binbin () Função, engole um valor int. Sua saída é uma string representando o valor int em dígitos binários.
A Binbin () FUNÇÃO
#include char * binbin (int n) -int main () {int entrada-printf ("Digite um valor de 0 a 255: ") -scanf ("% d",&entrada) -printf ("% D% é binário sn", De entrada, binbin (entrada)) - retorno (0) -} char * binbin (int n) {bin static char [9] -int x-para (x = 0-xlt; 8-x ++) {bin [x] n = & 0x80? `1`: `0`-n lt; lt; = 1-} bin [x] = `` -Retornar (bin) -}
De um modo geral, o conteúdo da função binbin () aparecem bastante misterioso. Tudo bem.
Exercício 1: Digite o código-fonte do A binbin () Funcionar em um novo projeto. Construir e executá-lo algumas vezes para ver como números inteiros aparecem como números binários.
Como está escrito no binbin () Função, binbin () exibe apenas 8 bits de dados, embora o tipo de variável int normalmente armazena muitos mais bits.
Exercício 2: Modificar a função binbin () A partir de binbin () Função para que ele exibe 16 bits do valor int. (Bem, tecnicamente, 16 bits é um short int.) Para fazer isso, você precisa mudar esses itens:
Linha 9: Alterar o texto para que 65535 é especificado em vez de 255.
Linha 17: modificar o tamanho da matriz 17 para dar conta de 16 caracteres na saída além do (caractere nulo) no final da cadeia.
Linha 20: Ajuste o valor imediato 8 no código para 16 para dar conta de todos os 16 caracteres na saída.
Linha 22: Substituir o valor 0x80 com 0x8000. Esta mudança faz com que o campo de bits maior.
Construir Exercício 2. Execute-o algumas vezes para ver o que o campo de bits se parece com para valores maiores.