Artigos

3.1: Representações Binárias - Matemática


Suponha que ( left {a_ {n} right } _ {n = 1} ^ { infty} ) seja uma sequência tal que, para cada (n = 1,2,3, ldots, ) tanto (a_ {n} = 0 ) ou (a_ {n} = 1 ) e, para qualquer inteiro (N, ) existe um inteiro (n> N ) tal que (a_ {n} = 0. ) Então

[0 leq frac {a_ {n}} {2 ^ {n}} leq frac {1} {2 ^ {n}} ]

para (n = 1,2,3, pontos, ) então a série infinita

[ sum_ {n = 1} ^ { infty} frac {a_ {n}} {2 ^ {n}} ]

converge para algum número real (x ) pelo teste de comparação. Além disso,

[0 leq x < sum_ {n = 1} ^ { infty} frac {1} {2 ^ {n}} = 1. ]

Chamamos a sequência ( left {a_ {n} right } _ {n = 1} ^ { infty} ) a representação binária para (x, ) e escrevemos

[x = .a_ {1} a_ {2} a_ {3} a_ {4} pontos. ]

Exercício ( PageIndex {1} )

Suponha que ( left {a_ {n} right } _ {n = 1} ^ { infty} ) e ( left {b_ {n} right } _ {n = 1} ^ { infty} ) são ambas representações binárias para (x. ) Mostre que (a_ {n} = b_ {n} ) para (n = 1,2,3, ldots ).

Agora suponha que (x in mathbb {R} ) com (0 leq x <1 ). Construa uma sequência ( left {a_ {n} right } _ {n = 1} ^ { infty} ) da seguinte forma: If (0 leq x < frac {1} {2}, ) let (a_ {1} = 0; ) caso contrário, let (a_ {1} = 1. ) For (n = 1,2,3, ldots, ) let

[s_ {n} = sum_ {i = 1} ^ {n} frac {a_ {i}} {2 ^ {i}} ]

e defina (a_ {n + 1} = 1 ) se

[s_ {n} + frac {1} {2 ^ {n + 1}} leq x ]

e (a_ {n + 1} = 0 ) caso contrário.

lema ( PageIndex {1} )

Com a notação acima,

[s_ {n} leq x

para (n = 1,2,3, ldots ).

Prova

Desde

[s_ {1} = left { begin {array} {ll} {0,} & { text {if} 0 leq x < frac {1} {2}} { frac { 1} {2},} & { text {if} frac {1} {2} leq x <1} end {array} right. ]

está claro que (s_ {1} leq x 1 ) e (s_ {n-1} leq x

[s_ {n} = s_ {n-1} + frac {1} {2 ^ {n}} leq x

Se (x

[s_ {n} = s_ {n-1} leq x

Q.E.D.

proposição ( PageIndex {2} )

Com a notação acima,

[x = sum_ {n = 1} ^ { infty} frac {a_ {n}} {2 ^ {n}}. ]

Prova

Dado ( epsilon> 0, ) escolha um inteiro (N ) tal que ( frac {1} {2 ^ {n}} < epsilon. ) Então, para qualquer (n> N, ) segue do lema que

[ left | s_ {n} -x right | < frac {1} {2 ^ {n}} < frac {1} {2 ^ {N}} < epsilon. ]

Por isso

[x = lim _ {n rightarrow infty} s_ {n} = sum_ {n = 1} ^ { infty} frac {a_ {n}} {2 ^ {n}}. ]

Q.E.D.

lema ( PageIndex {3} )

Com a notação acima, dado qualquer inteiro (N ), existe um inteiro (n> N ) tal que (a_ {n} = 0 ).

Prova

Se (a_ {n} = 1 ) para (n = 1,2,3, pontos, ) então

[x = sum_ {n = 1} ^ { infty} frac {1} {2 ^ {n}} = 1, ]

contradizendo a suposição de que (0 leq x <1. ) Agora suponha que exista um inteiro (N ) tal que (a_ {N} = 0 ) mas (a_ {n} = 1 ) para todo (n> N. ) Então

[x = s_ {N} + sum_ {n = N + 1} ^ { infty} frac {1} {2 ^ {n}} = s_ {N-1} + sum_ {n = N + 1} ^ { infty} frac {1} {2 ^ {n}} = s_ {N-1} + frac {1} {2 ^ {N}}, ]

implicando que (a_ {N} = 1, ) e, portanto, contradizendo a suposição de que (a_ {N} = 0 ). ( quad ) Q.E.D.

Combinar o lema anterior com a proposição anterior produz o seguinte resultado.

Proposta ( PageIndex {4} )

Com a notação acima, (x =. A_ {1} a_ {2} a_ {3} a_ {4} ldots ).

O próximo teorema segue agora do Exercício 3.1.1 e da proposição anterior.

Teorema ( PageIndex {5} )

Cada número real (0 leq x <1 ) tem uma representação binária única.


É como contar em decimal, exceto que alcançamos 10 muito mais cedo.

Bem, como contamos em decimais?
0 Comece em 0
. Conte 1,2,3,4,5,6,7,8 e então.
9 Isto é o último dígito em decimal
1 0 Então, começamos do zero novamente, mas adicionamos 1 à esquerda

A mesma coisa é feita em binário.

Binário
0 Comece em 0
1 Então 1
•• 1 0 Agora comece do zero novamente, mas adicione 1 à esquerda
••• 11 mais 1
•••• . Mas agora o quê. ?

O que acontece em decimal?
99 Quando ficamos sem dígitos, nós.
100 . comece do zero novamente, mas adicione 1 à esquerda

E é isso que fazemos em binário.

Binário
0 Comece em 0
1 Então 1
•• 1 0 Comece do zero novamente, mas adicione 1 à esquerda
••• 11
•••• 1 00 comece novamente em 0 e adicione um ao número à esquerda.
. mas esse número já está em 1, então ele também volta a 0.
. e 1 é adicionado ao próxima posição à esquerda
••••• 101
•••••• 110
••••••• 111
•••••••• 1 000 Comece do zero novamente (para todos os 3 dígitos),
adicione 1 à esquerda
••••••••• 1001 E assim por diante!

Veja como é feito nesta pequena demonstração (aperte o botão play):


Capítulo 2. Representação Binária e Numérica

Binário é um sistema numérico de base 2 que usa dois estados mutuamente exclusivos para representar informações. Um número binário é composto de elementos chamados bits onde cada bit pode estar em um dos dois estados possíveis. Geralmente, nós os representamos com os números 1 e 0. Também falamos sobre eles serem verdadeiros e falsos. Eletricamente, os dois estados podem ser representados por tensões altas e baixas ou alguma forma de chave ligada ou desligada.

Construímos números binários da mesma maneira que construímos em nosso sistema tradicional de base 10. No entanto, em vez de uma coluna de um, uma coluna de 10, uma coluna de 100 (e assim por diante) temos uma coluna de um, uma coluna de dois, uma coluna de quatro, uma coluna de oito e assim por diante, conforme ilustrado abaixo.

Por exemplo, para representar o número 203 na base 10, sabemos que colocamos um 3 na coluna de 1, um 0 na coluna de 10 e um 2 na coluna de 100. Isso é expresso com expoentes na tabela abaixo.

Ou, em outras palavras, 2 × 10 2 + 3 × 10 0 = 200 + 3 = 203. Para representar a mesma coisa em binário, teríamos a seguinte tabela.

Isso equivale a 2 7 + 2 6 + 2 3 + 2 1 + 2 0 = 128 + 64 + 8 + 2 + 1 = 203.

A base da computação

Você pode estar se perguntando como um número simples é a base de todas as coisas incríveis que um computador pode fazer. Acredite ou não, é! O processador em seu computador tem um conjunto complexo, mas limitado de instruções ele pode atuar em valores como adição, multiplicação, etc. Essencialmente, cada uma dessas instruções recebe um número para que um programa inteiro (adicione isso a isso, multiplique por aquilo, divida por isso e assim por diante) possa ser representado por um apenas um fluxo de números. Por exemplo, se o processador sabe que a operação 2 é adição, 252 poderia significar "adicione 5 e 2 e armazene a saída em algum lugar". A realidade é, obviamente, muito mais complicada (ver Capítulo 3, Arquitetura de Computadores), mas, em poucas palavras, é isso que um computador é.

Na época dos cartões perfurados, era possível ver com os olhos os um e os zeros que compõem o fluxo do programa observando os furos presentes no cartão. É claro que isso passou a ser armazenado por meio da polaridade de pequenas partículas magnéticas rapidamente (fitas, discos) e chegou ao ponto de hoje podermos carregar quantidades inimagináveis ​​de dados em nosso bolso.

Traduzir esses números em algo útil para os humanos é o que torna um computador tão útil. Por exemplo, as telas são compostas por milhões de discretas píxeis , cada um pequeno demais para o olho humano distinguir, mas se combinando para formar uma imagem completa. Geralmente, cada pixel tem um certo componente vermelho, verde e azul que compõe sua cor de exibição. Obviamente, esses valores podem ser representados por números, que obviamente podem ser representados por binários! Assim, qualquer imagem pode ser dividida em milhões de pontos individuais, cada ponto representado por um tupla de três valores que representam os valores de vermelho, verde e azul para o pixel. Assim, dada uma longa sequência de tais números, formatados corretamente, o hardware de vídeo em seu computador pode converter esses números em sinais elétricos para ligar e desligar pixels individuais e, portanto, exibir uma imagem.

Conforme você lê, construiremos todo o ambiente de computação moderno a partir deste bloco de construção básico de baixo para cima Se você for!

Bits e bytes

Conforme discutido acima, podemos essencialmente escolher representar qualquer coisa por um número, que pode ser convertido em binário e operado pelo computador. Por exemplo, para representar todas as letras do alfabeto, precisaríamos de pelo menos combinações diferentes o suficiente para representar todas as letras minúsculas, as letras maiúsculas, números e pontuação, além de alguns extras. Somando isso, precisamos provavelmente de cerca de 80 combinações diferentes.

Se tivermos dois bits, podemos representar quatro combinações únicas possíveis (00 01 10 11). Se tivermos três bits, podemos representar 8 combinações diferentes. Em geral, com n bits podemos representar 2 n combinações únicas.

8 bits nos dá 2 8 = 256 representações únicas, mais do que o suficiente para nossas combinações de alfabeto. Chamamos um grupo de 8 bits de byte . Adivinha o quão grande é uma variável C char? Um byte.

ASCII

Dado que um byte pode representar qualquer um dos valores de 0 a 255, qualquer um poderia arbitrariamente fazer um mapeamento entre caracteres e números. Por exemplo, um fabricante de placa de vídeo pode decidir que 1 representa A, portanto, quando o valor 1 é enviado para a placa de vídeo, ele exibe um 'A' maiúsculo na tela. Um fabricante de impressora pode decidir, por algum motivo obscuro, que 1 representa um 'z' minúsculo, o que significa que conversões complexas seriam necessárias para exibir e imprimir a mesma coisa.

Para evitar que isso aconteça, o Código padrão americano para intercâmbio de informações ou ASCII foi inventado. Isto é um 7 bits código, o que significa que há 2 7 ou 128 códigos disponíveis.

O intervalo de códigos é dividido em duas partes principais, os não imprimíveis e os imprimíveis. Os caracteres imprimíveis são coisas como caracteres (maiúsculas e minúsculas), números e pontuação. Os códigos não imprimíveis são para controle e fazem coisas como retornar o carro, tocar a campainha do terminal ou o código NULL especial que não representa nada.

127 caracteres exclusivos é suficiente para o inglês americano, mas torna-se muito restritivo quando se deseja representar caracteres comuns em outros idiomas, especialmente idiomas asiáticos que podem ter muitos milhares de caracteres exclusivos.

Para aliviar isso, os sistemas modernos estão mudando de ASCII para Unicode , que pode usar até 4 bytes para representar um personagem, dando Muito de mais espaço!

Paridade

ASCII, sendo apenas um código de 7 bits, deixa um bit do byte sobressalente. Isso pode ser usado para implementar paridade que é uma forma simples de verificação de erros. Considere um computador usando cartões perfurados para entrada, onde um orifício representa 1 e nenhum orifício representa 0. Qualquer cobertura inadvertida de um orifício fará com que um valor incorreto seja lido, causando um comportamento indefinido.

A paridade permite uma verificação simples dos bits de um byte para garantir que foram lidos corretamente. Podemos implementar qualquer chance ou até paridade usando o bit extra como um bit de paridade .

Na paridade ímpar, se o número de 1's nos 7 bits de informação for ímpar, o bit de paridade é definido, caso contrário, não é definido. A paridade par é o oposto se o número de 1 é par, o bit de paridade é definido como 1.

Desta forma, a inversão de um bit causará um erro de paridade, que pode ser detectado.

Mais XXX sobre correção de erros

Computadores de 16, 32 e 64 bits

Os números não cabem em bytes, esperançosamente, seu saldo bancário em dólares precisará de mais alcance do que pode caber em um byte! As arquiteturas modernas são, pelo menos, 32 bits computadores. Isso significa que eles trabalham com 4 bytes por vez ao processar e ler ou gravar na memória. Nos referimos a 4 bytes como um palavra isso é análogo à linguagem onde as letras (bits) formam as palavras em uma frase, exceto no cálculo, cada palavra tem o mesmo tamanho! O tamanho de uma variável int C é de 32 bits. As arquiteturas modernas são de 64 bits, o que dobra o tamanho de funcionamento do processador para 8 bytes.

Kilo, Mega e Giga Bytes

Os computadores lidam com muitos bytes, o que os torna tão poderosos! Precisamos de uma maneira de falar sobre grandes números de bytes, e uma maneira natural é usar os prefixos do "Sistema Internacional de Unidades" (SI), como são usados ​​na maioria das outras áreas científicas. Então, por exemplo, quilo se refere a 10 3 ou 1000 unidades, já que um quilograma tem 1000 gramas.

1000 é um bom número redondo na base 10, mas em binário é 1111101000, que não é um número particularmente "redondo". No entanto, 1024 (ou 2 10) é um número redondo - (10000000000 - e parece estar bem próximo ao valor de significado de base 10 de "quilo" (1000 em oposição a 1024). Assim, 1024 bytes naturalmente se tornaram conhecidos como um kilobyte . A próxima unidade SI é "mega" para 10 6 e os prefixos continuam para cima em 10 3 (correspondendo ao agrupamento usual de três dígitos ao escrever números grandes). Acontece que 2 20 está novamente perto da definição de base 10 do SI para mega 1048576 em oposição a 1000000. Aumentar as unidades de base 2 em potências de 10 permanece funcionalmente próximo ao valor de base 10 do SI, embora cada fator de aumento divirja ligeiramente o significado de base do SI. Assim, as unidades de base 10 do SI são "próximas o suficiente" e se tornaram as comumente usadas para valores de base 2.

NomeFator de Base 2BytesFechar Fator de Base 10Base de 10 bytes
1 kilobyte2 10 1,02410 3 1,000
1 megabyte2 20 1,048,57610 6 1,000,000
1 gigabyte2 30 1,073,741,82410 9 1,000,000,000
1 Terabyte2 40 1,099,511,627,77610 12 1,000,000,000,000
1 petabyte2 50 1,125,899,906,842,62410 15 1,000,000,000,000,000
1 exabyte2 60 1,152,921,504,606,846,97610 18 1,000,000,000,000,000,000

Unidades SI comparadas na base 2 e base 10

Pode ser muito útil comprometer os fatores de base 2 na memória como um auxílio para correlacionar rapidamente a relação entre o número de bits e os tamanhos "humanos". Por exemplo, podemos calcular rapidamente que um computador de 32 bits pode endereçar até quatro gigabytes de memória observando a recombinação de 2 2 (4) + 2 30. Um valor de 64 bits pode endereçar da mesma forma até 16 exabytes (2 4 + 2 60). Você pode estar interessado em descobrir o quão grande é esse número. Para ter uma ideia de quão grande é esse número, calcule quanto tempo levaria para contar até 2 64 se você incrementasse uma vez por segundo.

Kilo, Mega e Giga Bits

Além da confusão relacionada à sobrecarga das unidades SI entre o binário e a base 10, as capacidades serão frequentemente citadas em termos de bits em vez de bytes. Geralmente, isso acontece quando se fala sobre rede ou dispositivos de armazenamento, você deve ter notado que sua conexão ADSL é descrita como algo em torno de 1500 kilobits / segundo. O cálculo é simples: multiplique por 1000 (para o quilo), divida por 8 para obter bytes e 1024 para obter kilobytes (então 1500 kilobits / s = 183 kilobytes por segundo).

O organismo de padronização SI reconheceu esses usos duplos e especificou prefixos exclusivos para uso binário. Sob o padrão de 1024 bytes está um kibibyte, abreviação de quilo binário byte (abreviado para KiB). Os outros prefixos têm um prefixo semelhante (Mebibyte, MiB, por exemplo). A tradição impede amplamente o uso desses termos, mas você pode vê-los em alguma literatura.

Conversão

A maneira mais fácil de converter entre bases é usar um computador, afinal, eles são bons nisso! No entanto, geralmente é útil saber como fazer conversões manualmente.

O método mais fácil de converter entre bases é divisão repetida . Para converter, divida repetidamente o quociente pela base, até que o quociente seja zero, anotando os restantes a cada passo. Em seguida, escreva o restante ao contrário, começando na parte inferior e anexando à direita a cada vez. Um exemplo deve ilustrar, uma vez que estamos convertendo para binário, usamos uma base de 2.

Quociente Restante
20310 ÷ 2 =1011
10110 ÷ 2 =501
5010 ÷ 2 =250
2510 ÷ 2 =121
1210 ÷ 2 =60
610 ÷ 2 =30
310 ÷ 2 =11
110 ÷ 2 =01

Lendo da parte inferior e anexando à direita a cada vez, temos 11001011, que vimos no exemplo anterior era 203.

Operações Booleanas

George Boole foi um matemático que descobriu toda uma área da matemática chamada Álgebra booleana . Embora ele tenha feito suas descobertas em meados de 1800, sua matemática é a base de toda a ciência da computação. A álgebra booleana é um tópico abrangente, apresentamos aqui apenas o mínimo para você começar.

As operações booleanas simplesmente pegam uma entrada específica e produzem uma saída específica seguindo uma regra. Por exemplo, a operação booleana mais simples, não simplesmente inverte o valor do operando de entrada. Outros operandos geralmente usam duas entradas e produzem uma única saída.

As operações booleanas fundamentais usadas na ciência da computação são fáceis de lembrar e estão listadas abaixo. Nós os representamos abaixo com tabelas de verdade eles simplesmente mostram todas as entradas e saídas possíveis. O termo verdadeiro simplesmente reflete 1 em binário.

Normalmente representado por! , não simplesmente inverte o valor, então 0 torna-se 1 e 1 torna-se 0


Palavras infinitas

Exercício 7

Aritmética Presburger é o conjunto de fórmulas de primeira ordem que são verdadeiras na estrutura (ℕ, +) formada pelos inteiros não negativos com a adição.

Fórmulas de WMF2(S) podem ser interpretados como fórmulas de primeira ordem em ℕ interpretando uma variável de segunda ordem X como o conjunto de posições do 1 & # x27s na representação binária de um inteiro x.

Encontre uma fórmula φ (X, Y, Z) ∈ WMF2(S) para expressar o fato de que os inteiros x, y, z associado com as variáveis X, Y, Z satisfazer a relação x + y = z.

Deduza que cada fórmula da aritmética de Presburger pode ser traduzida em uma fórmula de MF2(& lt).

Deduza que a aritmética do Presburger é decidível.


3.1: Representações Binárias - Matemática

O binário é um sistema numérico de base 2 que usa dois estados 0 e 1 para representar um número. Também podemos chamá-lo de um estado verdadeiro e falso. Um número binário é construído da mesma maneira que construímos o número decimal normal.

Por exemplo, um número decimal 45 pode ser representado como 4 * 10 ^ 1 + 5 * 10 ^ 0 = 40 + 5

Agora, o 45 binário é representado como 101101. Como temos potências de 10 no número decimal, da mesma forma, há potências de 2 nos números binários. Portanto, 45, que é 101101 em binário, pode ser representado como:

O número binário é percorrido da esquerda para a direita.

Representação de sinal e magnitude & # 8211
Existem muitas maneiras de representar números inteiros negativos. Um dos caminhos é a magnitude do sinal. Este sistema usa um bit para indicar o sinal. Os números matemáticos geralmente são compostos de um sinal e um valor. O sinal indica se o número é positivo, (+) ou negativo, (-) enquanto o valor indica o tamanho do número.

Por exemplo, 13, +256 ou -574.A apresentação dos números é chamada de representação da magnitude do sinal, uma vez que o dígito mais à esquerda pode ser usado para indicar o sinal e os dígitos restantes, a magnitude ou o valor do número.

A notação de magnitude de sinal é o mais simples e um dos métodos mais comuns de representação de números positivos e negativos. Assim, os números negativos são obtidos simplesmente mudando o sinal do número positivo correspondente, por exemplo, +2 e -2, +10 e -10, etc. Da mesma forma, adicionar 1 à frente de um número binário é negativo e 0 torna é positivo.

Por exemplo, 0101101 representa +45 e 1101101 representa -45 se 6 dígitos de um número binário forem considerados e o dígito mais à esquerda representar o sinal.

Mas um problema com o método de magnitude de sinal é que ele pode resultar na possibilidade de dois padrões de bits diferentes terem o mesmo valor binário. Por exemplo, +0 e -0 seriam 0000 e 1000, respectivamente, como um número binário de 4 bits com sinal. Assim, usando este método, pode haver duas representações para zero, um positivo zero 0000 e também um negativo zero 1000, o que pode causar grandes complicações para computadores e sistemas digitais.

    Cumprimento One & # 8217s & # 8211
    O Complemento da pessoa é um método que pode ser usado para representar números binários negativos em um sistema de números binários com sinal. Em complemento, os números positivos permanecem inalterados como antes.

Os números negativos, no entanto, são representados tomando o complemento de um do número positivo sem sinal. Como os números positivos sempre começam com 0, o complemento sempre começa com 1 para indicar um número negativo.

O complemento de um de um número binário negativo é o complemento de seu positivo, então para pegar o complemento de um de um número binário, tudo o que precisamos fazer é subtrair 1 & # 8217s igual ao número de dígitos presentes no número desse número. Isso também pode ser obtido apenas trocando os dígitos do número. Assim, o complemento de 1 é 0 e vice-versa.

Por exemplo, One & # 8217s Compliment of 1010100:

Na representação de complemento de dois, um número negativo é o complemento de 2 de seu número positivo. Se a subtração de dois números for X - Y, então ela pode ser representada como X + (complemento de 2 de Y).

O complemento de dois é o complemento de um + 1 de um número em binário.

O principal vantagem de complemento de dois sobre o complemento de um anterior é que não há problema de duplo zero e é muito mais fácil gerar o complemento de dois de um número binário com sinal. Em dois & # 8217s, as operações aritméticas de complemento são relativamente mais fáceis de realizar quando os números são representados no formato de complemento de dois.

Por exemplo, para representar -27
27 em binário é: 00011011

  1. O sinal de mais / menos é representado por um bit, o bit de maior peso (mais à esquerda).
  2. O expoente é codificado usando 8 bits (11 bits na representação de 64 bits) imediatamente após o sinal.
  3. A mantissa (os bits após o ponto decimal) com os 23 bits restantes (52 bits na representação de 64 bits).

Atenção leitor! Não pare de aprender agora. Pratique o exame GATE bem antes do exame real com os questionários sobre o assunto e gerais disponíveis em Curso GATE Test Series.


3.1: Representações Binárias - Matemática

Antes de passar por esta seção, certifique-se de entender sobre a representação de números em binário. Você pode ler a página sobre representação numérica para revisar.

Este documento apresentará os métodos de adição e multiplicação de números binários. Em cada seção, o tópico é desenvolvido considerando primeiro a representação binária de números sem sinal (que são os mais fáceis de entender), seguidos por números com sinais e terminando com frações (os mais difíceis de entender). Na maior parte, vamos lidar com

Adicionando números sem sinal

Adicionar números sem sinais em binários é muito fácil. Lembre-se de que, com números de 4 bits, podemos representar números de 0 a 15. A adição é feita exatamente como adicionar números decimais, exceto que você tem apenas dois dígitos (0 e 1). Os únicos fatos a serem lembrados são que

0 + 0 = 0, sem transporte,
1 + 0 = 1, sem transporte,
0 + 1 = 1, sem transporte,
1 + 1 = 0, e você carrega 1.

então, para adicionar os números 0610=01102 e 0710=01112 (resposta = 1310=11012) podemos escrever o cálculo (os resultados de qualquer transporte são mostrados ao longo da linha superior, em itálico).

A única dificuldade em adicionar números sem sinais ocorre quando você adiciona números muito grandes. Considere 13 + 5.

O resultado é um número de 5 bits. Portanto, o carry bit da adição dos dois bits mais significativos representa um resultado que transbordar (porque a soma é muito grande para ser representada com o mesmo número de bits que os dois adendos).

Adicionando números assinados

Adicionar números com sinal não é significativamente diferente de adicionar números sem sinal. Lembre-se de que os números de 4 bits com sinal (complemento de 2) podem representar números entre -8 e 7. Para ver como essa adição funciona, considere três exemplos.

Nesse caso, o transporte extra do bit mais significativo não tem significado. Com números com sinais, há duas maneiras de obter um estouro - se o resultado for maior que 7 ou menor que -8. Vamos considerar essas ocorrências agora.

Obviamente, ambos os resultados estão incorretos, mas, neste caso, o estouro é mais difícil de detectar. Mas você pode ver que se dois números com o mesmo sinal (positivo ou negativo) forem adicionados e o resultado tiver o sinal oposto, ocorreu um estouro.

Normalmente, os DSPs, incluindo o 320C5x, podem lidar de alguma forma com esse problema usando algo chamado aritmética de saturação, em que os resultados que resultam em estouro são substituídos pelo número mais positivo (neste caso 7) se o estouro estiver na direção positiva, ou pelo número mais negativo (-8) para overflows na direção negativa.

Não há mais dificuldade em adicionar duas frações assinadas, apenas a interpretação dos resultados difere. Por exemplo, considere a adição de dois números Q3 mostrados (compare com o exemplo com dois números com sinal de 4 bits, acima).

Se você olhar atentamente para esses exemplos, verá que a representação binária e os cálculos são os mesmos de antes, apenas a representação decimal foi alterada. Isso é muito útil porque significa que podemos usar o mesmo circuito para adição, independentemente da interpretação dos resultados.

Mesmo a geração de overflows resultando em condições de erro permanece inalterada (novamente compare com acima)

Multiplicando números sem sinal

Multiplicar números sem sinal em binário é muito fácil. Lembre-se de que, com números de 4 bits, podemos representar números de 0 a 15. A multiplicação pode ser realizada exatamente como com os números decimais, exceto que você tem apenas dois dígitos (0 e 1). Os únicos fatos numéricos a lembrar são que 0 * 1 = 0 e 1 * 1 = 1 (é o mesmo que um & quot e & quot lógico).

A multiplicação é diferente da adição, pois a multiplicação de um número de bits n por um número de bits m resulta em um número de bits n + m. Vamos dar uma olhada em um exemplo onde n = m = 4 e o resultado são 8 bits

Nesse caso, o resultado foi de 7 bits, que pode ser estendido para 8 bits adicionando um 0 à esquerda. Ao multiplicar números maiores, o resultado será 8 bits, com o mais à esquerda definido como 1, conforme mostrado.

Contanto que haja n + m bits para o resultado, não há chance de estouro. Para 2 multiplicandos de quatro bits, o maior produto possível é 15 * 15 = 225, que pode ser representado em 8 bits.

Multiplicando números assinados

Existem muitos métodos para multiplicar os números do complemento de 2. O mais fácil é simplesmente encontrar a magnitude dos dois multiplicandos, multiplicá-los e usar os bits de sinal originais para determinar o sinal do resultado. Se os multiplicandos tivessem o mesmo sinal, o resultado deve ser positivo, se os tivessem sinais diferentes, o resultado é negativo. A multiplicação por zero é um caso especial (o resultado é sempre zero, sem bit de sinal).

Multiplicando frações

Como você pode esperar, a multiplicação de frações pode ser feita da mesma forma que a multiplicação de números com sinal. As magnitudes dos dois multiplicandos são multiplicadas e o sinal do resultado é determinado pelos sinais dos dois multiplicandos.

Existem algumas complicações envolvidas no uso de frações. Embora seja quase impossível obter um estouro (uma vez que os multiplicandos e resultados geralmente têm magnitude menor que um), é possível obter um estouro multiplicando -1x-1, pois o resultado disso é +1, que não pode ser representado por números de pontos fixos.

A outra dificuldade é que multiplicar dois números Q3 obviamente resulta em um número Q6, mas temos 8 bits em nosso resultado (já que estamos multiplicando dois números de 4 bits). Isso significa que terminamos com dois bits à esquerda da vírgula decimal. Eles têm extensão de sinal, de modo que para números positivos eles são ambos zero e, para números negativos, ambos são um. Considere o caso de multiplicar -1/2 por -1/2 (usando o método do livro):

Isso obviamente apresenta uma dificuldade se quiséssemos armazenar o número em um resultado Q3, porque se pegássemos apenas os 4 bits mais à esquerda, acabaríamos com dois bits de sinal. Então, o que gostaríamos de fazer é deslocar o número para a esquerda em um e pegar o 4 bit mais à esquerda. Isso nos deixa com 1110 que é igual a -1/4, como esperado.

Em um DSP de 16 bits, dois números Q15 são multiplicados para obter um número Q30 com dois bits de sinal. Na 320C50, existem duas maneiras de fazer isso. A primeira é usar o p-scaler imediatamente após o multiplicador, ou o pós-escalador após o acumulador. deslocar o resultado para a esquerda em um


Complemento de 2 para decimal

Para converter uma representação de complemento de 2 em um formato de número legível, siga estas etapas:

  1. Se o número for positivo (o bit mais significativo é 0), converta o número para o formato decimal normalmente.
  2. Se o número for negativo, vire todos os dígitos do número. Em outras palavras, altere todos os 1s para 0s e todos os 0s para 1 e # x27s.
  3. Adicione 1 ao número invertido.
  4. Para ver o número no formato decimal, basta convertê-lo em um número decimal como na representação binária regular.

Por exemplo, vamos converter 10110110.

  1. Uma vez que o bit mais significativo é 1, precisamos inverter os dígitos do número.
  2. 10110110 → 01001001.
  3. Adicione 1 ao número. 01001001 + 1 =01001010.
  4. 01001010 (binário) = 74 (decimal).

Então, 10110110 (complemento de 2) =-74 (decimal).


Matematicamente único?

O número 42 possui uma gama de propriedades matemáticas interessantes. Aqui estão alguns deles:

O número é a soma das três primeiras potências ímpares de dois & mdash, isto é, 2 1 + 2 3 + 2 5 = 42. É um elemento na sequência uma(n), que é a soma de n potências ímpares de 2 para n & gt 0. A sequência corresponde à entrada A020988 na Enciclopédia On-Line de Sequências Inteiras (OEIS), criada pelo matemático Neil Sloane. Na base 2, o no elemento pode ser especificado repetindo 10 n vezes (1010. 10). A fórmula para esta sequência é uma(n) = (2/3)(4 n & ndash 1). Como n aumenta, a densidade dos números tende para zero, o que significa que os números pertencentes a esta lista, incluindo 42, são excepcionalmente raros.

O número 42 é a soma das duas primeiras potências inteiras diferentes de zero de seis & mdash, isto é, 6 1 + 6 2 = 42. A sequência b(n), que é a soma das potências de seis, corresponde à entrada A105281 na OEIS. É definido pelas fórmulas b(0) = 0, b(n) = 6b(n & ndash 1) + 6. A densidade desses números também tende a zero no infinito.

Quarenta e dois é um número catalão. Esses números são extremamente raros, muito mais do que os números primos: apenas 14 dos primeiros são inferiores a um bilhão. Os números catalães foram mencionados pela primeira vez, com outro nome, pelo matemático suíço Leonhard Euler, que queria saber de quantas maneiras diferentes nO polígono convexo pode ser cortado em triângulos conectando vértices com segmentos de linha. O início da sequência (A000108 em OEIS) é 1, 1, 2, 5, 14, 42, 132. O no elemento da sequência é dado pela fórmula c(n) = (2n)! / (n!(n + 1)!). E como as duas sequências anteriores, a densidade dos números é nula no infinito.

Os números catalães são nomeados em homenagem ao matemático franco-belga Eug & egravene Charles Catalan (1814 & ndash1894), que descobriu que c(n) é o número de maneiras de organizar n pares de parênteses de acordo com as regras usuais para escrevê-los: um parêntese nunca se fecha antes de ser aberto, e só se pode fechá-lo quando todos os parênteses que foram abertos posteriormente forem fechados.

Por exemplo, c(3) = 5 porque os arranjos possíveis de três pares de parênteses são:

Quarenta e dois também é um número & ldquoprático & rdquo, o que significa que qualquer número inteiro entre 1 e 42 é a soma de um subconjunto de seus divisores distintos. Os primeiros números práticos são 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56, 60, 64, 66 e 72 (sequência A005153 em OEIS). Nenhuma fórmula simples conhecida fornece o no elemento desta seqüência.

Tudo isso é divertido, mas seria errado dizer que 42 é realmente algo especial matematicamente. Os números 41 e 43, por exemplo, também são elementos de muitas sequências. Você pode explorar as propriedades de vários números na Wikipedia.

O que torna um número particularmente interessante ou desinteressante é uma questão que o matemático e psicólogo Nicolas Gauvrit, o cientista natural computacional Hector Zenil e eu estudamos, começando com uma análise das sequências no OEIS. Além de uma conexão teórica com a complexidade de Kolmogorov (que define a complexidade de um número pelo comprimento de sua descrição mínima), mostramos que os números contidos na enciclopédia Sloane & rsquos apontam para uma cultura matemática compartilhada e, conseqüentemente, que OEIS é baseado como muito sobre as preferências humanas como pura objetividade matemática.


A teoria da grande unificação apareceu em um artigo de 1974 de Howard Georgi e Sheldon Glashow [12]. Foi a primeira grande teoria unificada e ainda é considerada o exemplo prototípico. Como tal, existem muitos relatos sobre isso na literatura de física. Os livros de Ross [31] e Mohapatra [21] dedicam um capítulo inteiro à teoria />, e um resumo lúcido pode ser encontrado em um artigo de revisão de Witten [39], que também discute a generalização supersimétrica dessa teoria.

Nesta seção, limitaremos nossa atenção à versão não supersimétrica da teoria />, que é como foi originalmente proposta. Infelizmente, esta teoria já foi descartada por experimentos que prevêem que os prótons irão decair mais rápido do que o limite inferior atual do tempo de vida do próton [26]. No entanto, por causa de seu status prototípico e interesse intrínseco, devemos simplesmente falar sobre a teoria />.

  • A partícula está isospin up?
  • É isospin down?
  • É vermelho?
  • É verde?
  • É azul?

Podemos concretizar esse esquema exigindo que a operação de obtenção de antipartículas corresponda à troca de 0 por 1 no código. Portanto, o código para a antipartícula de , o 'antiquark antiquark destro', é . Isso é fofo: significa que estar antidown é o mesmo que estar ativo, enquanto estar antired é o mesmo que ser verde e azul.

Além disso, neste esquema todos os antileptons são `pretos '(as partículas sem cor, terminando em 000), enquanto os léptons são` brancos' (as partículas com todas as cores, terminando em 111). Quarks têm exatamente uma cor e antiquarks têm exatamente duas.

Estamos trabalhando lentamente nosso caminho para o teoria. Em seguida, vamos trazer os espaços de Hilbert para o jogo. Podemos pegar as propriedades básicas de ser para cima, para baixo, vermelho, verde ou azul e tratá-las como vetores básicos para . Vamos chamar esses vetores . A álgebra exterior tem uma base dada por produtos em cunha desses 5 vetores. Essa álgebra externa é 32-dimensional e tem uma base rotulada por strings de 5 bits. Por exemplo, a string de bits corresponde ao vetor base , enquanto a string de bits corresponde a .

Em seguida, trazemos a teoria da representação. O grupo tem uma representação óbvia em . E como a operação de obtenção de álgebras externas é funcional, este grupo também tem uma representação em . No teoria da grande unificação, esta é a representação que usamos para descrever uma única geração de férmions e suas antipartículas.

Apenas pelo nosso texto, porém, estamos escolhendo uma divisão de para dentro : o isospin e as partes coloridas, respectivamente. Escolher essa divisão de escolhe um subgrupo de , o conjunto de todos os elementos do grupo que preservam essa divisão. Este subgrupo consiste em matrizes diagonais de blocos com um bloco e um bloco, ambos unitários, de modo que o determinante de toda a matriz é 1. Denotemos este subgrupo como .

Agora, para o milagre: o subgrupo é isomórfico ao grupo de medidores do Modelo Padrão (pelo menos módulo um subgrupo finito). E, quando restringimos a representação de em para , obtemos a representação do modelo padrão!

Existem duas coisas boas sobre isso. A primeira é que ele fornece uma descrição concisa e matematicamente elegante da representação do Modelo Padrão. A segunda é que as hipercargas aparentemente ad hoc no Modelo Padrão devem ser exatamente o que são para que essa descrição funcione. Então, os físicos dizem que a teoria explica as cargas fracionárias dos quarks: o fato de que as cargas dos quarks vêm em unidades o tamanho da carga do elétron está fora dessa teoria.

Com este antegozo dos frutos, o a teoria vai suportar, vamos trabalhar e plantar as sementes. Nosso trabalho terá duas partes. Primeiro, precisamos verificar se

Onde é algum subgrupo normal finito que age trivialmente em . Então, precisamos verificar se de fato

como representações de .

Primeiro, o isomorfismo de grupo. Ingenuamente, pode-se tentar construir o teoria incluindo como um subgrupo de . Isso pode ser feito? Claramente, podemos incluir como matrizes diagonais de bloco em :

mas isso não é suficiente, porque também tem aquele fator incômodo de , relacionado à hipercarga. Como podemos encaixar isso?

A primeira pista é que os elementos de deve comutar com os elementos de . Mas os únicos elementos de que comuta com todos no subgrupo são diagonais, uma vez que devem se deslocar separadamente e , e os únicos elementos que o fazem são diagonais. Além disso, eles devem ser escalares em cada bloco. Então, eles têm que ser assim:

Onde representa o matriz de identidade vezes o número complexo , e da mesma forma para no quadra. Para que a matriz acima se situe , deve ter determinante 1, então . Esta condição corta o grupo de tais matrizes de até . Na verdade, todas essas matrizes são da forma

Onde atropela .

Portanto, se adicionarmos elementos deste formulário, obtemos ? Mais precisamente, este mapa:

dar um isomorfismo entre e ? É claramente um homomorfismo. Está claramente mapeado em no subgrupo . E é fácil verificar se ele mapeia para este subgrupo. Mas é um para um?

A resposta é não: o mapa tem um kernel, . O kernel é o conjunto de todos os elementos do formulário

e isso é , porque matrizes escalares e Moro em e , respectivamente, se e somente se é a sexta raiz da unidade. Então, tudo o que temos é

Isso configura um teste desesperador de que o a teoria deve passar para que tenha alguma chance de sucesso. Afinal, nem todas as representações de fator através de , mas todos aqueles vindos de representações de deve fazer isso. Uma representação de irá fatorar através só se o subgrupo age trivialmente.

Resumindo: o GUT está condenado a menos que age trivialmente em todos os férmions. (E antifermion, mas isso dá no mesmo.) Para que isso seja verdade, algumas relações não triviais entre hipercarga, isospin e cor devem ser mantidas.

Por exemplo, considere o elétron da mão esquerda

Para qualquer sexta raiz de unidade , nós precisamos

  • age em como multiplicação por
  • age em como multiplicação por
  • age trivialmente em .

A ação é realmente trivial - precisamente porque é a sexta raiz da unidade.

Ou considere o destro quark:

  • age em como multiplicação por
  • age trivialmente na representação trivial
  • age em como multiplicação por .

Novamente, a ação é trivial.

Para para trabalhar, no entanto, tem que agir trivialmente em cada férmion. Há 16 casos para verificar, e é muito difícil exigir que a hipercarga, a parte mais errática da representação do Modelo Padrão, satisfaça 16 relações.

Ou é? Em geral, para um férmion com hipercarga , existem quatro possibilidades distintas:

Relações de hipercarga
Caso Representação Relação
Não trivial , não trivial
Não trivial , trivial
Trivial , não trivial
Trivial , trivial
Relações de hipercarga
Caso Representação Relação
Quark canhoto
Lepton canhoto
Quark destro
Leptão destro
Mas é a sexta raiz da unidade, então tudo o que isso realmente diz é que esses expoentes são múltiplos de seis:
Relações de hipercarga
Caso Relação
Quark canhoto
Lepton canhoto
Quark destro
Leptão destro
Relações de hipercarga
Caso Hypercharge
Quark canhoto = inteiro par
Lepton canhoto = inteiro ímpar
Quark destro = inteiro ímpar
Leptão destro = inteiro par


Agora é fácil verificar se isso realmente se aplica a todos os férmions no modelo padrão. passa no teste, não apesar do padrão bizarro seguido por hipercargas, mas por causa disso!

Por meio desta análise, mostramos que age trivialmente no representante do Modelo Padrão, portanto, está contido no kernel desse representante. É melhor do que apenas uma contenção embora: é o kernel inteiro. Por causa disso, podemos dizer que é o grupo de medidores `verdadeiro 'do Modelo Padrão. E porque agora sabemos que

é quase como se isso kernel, espreitando dentro todo esse tempo, foi uma dica enigmática para tentar o teoria.

Claro, ainda precisamos encontrar uma representação de que estende a representação do modelo padrão. Felizmente, existe uma escolha muito bonita que funciona: a álgebra exterior . Desde age em , tem uma representação em . Nosso próximo objetivo é verificar se retirando essa representação de para usando , obtemos a representação do modelo Stadard

Ao fazermos isso, veremos outro fruto da teoria amadurecer. A trivialidade de já impôs alguma estrutura em hipercargas, conforme descrito acima na Tabela 3. À medida que ajustamos os férmions em , veremos que não é por acaso: as hipercargas têm que ser exatamente o que são para o teoria para funcionar.

Para começar, nossa estratégia será usar o fato de que, sendo representações de grupos de Lie compactos, ambos os férmions e a álgebra exterior são completamente redutíveis, portanto, podem ser escritos como uma soma direta de irreps. Em seguida, compararemos esses irreps um de cada vez.

Os férmions já são escritos como uma soma direta de irreps, então precisamos trabalhar . Agora, qualquer elemento atua como automorfismo da álgebra exterior :

Onde . Já que sabemos como atua nos vetores em , e estes geram , esta regra é suficiente para nos dizer como atua em todos os . Esta ação respeita as notas em , então cada potência externa em

é uma sub-representação. Na verdade, todos eles são irredutíveis, então é assim que quebra em pedaços de . Mediante restrição a , alguns desses summands se dividem ainda mais em partes de .

Vamos ver como isso funciona, começando com os casos mais fáceis. e são irritações triviais de . Existem dois irreps triviais na representação do Modelo Padrão, a saber e seu duplo , onde usamos colchetes angulares para representar o espaço de Hilbert estendido por um vetor ou coleção de vetores. Então, podemos selecionar e , ou vice-versa. Neste momento, não temos razão para preferir uma escolha à outra.

Em seguida, vamos mastigar a próxima peça: o primeiro poder externo, . Nós temos

como espaços vetoriais, e como representações de . Mas o que é como uma representação de ? O grupo de medidores do modelo padrão atua em através do mapa

Claramente, esta ação preserva a divisão em 'parte isospin' e 'parte colorida' de :

    O parte se transforma na hipercarga 1 representante de : isso é, atua como multiplicação por . Ele se transforma de acordo com a representação fundamental de , e a representação trivial de . Isso parece descrever um leptão canhoto com hipercarga 1.

Em suma, como representante de , temos

e já adivinhamos a quais partículas elas correspondem. O primeiro soma parece um leptão canhoto com hipercarga 1, enquanto o segundo é um quark destro com hipercarga .

Agora, isso é problemático, porque uma outra olhada na Tabela 1 revela que não há leptões canhotos com hipercarga 1. As únicas partículas com hipercarga 1 são os antileptons destros, que abrangem a representação

Mas espere! é único entre os é nisso que sua representação fundamental é autoduplicado:

Isso salva o dia. Como representante de , torna-se

portanto, descreve os antileptons destros com hipercarga 1 e os quarks destros com hipercarga . Em outras palavras:

onde omitimos o rótulo de cor em para economizar espaço. Preste atenção a isto: é a abreviação de espaço vetorial , e é tridimensional.

Agora podemos usar nosso conhecimento da primeira potência externa para calcular a segunda potência externa, aplicando a fórmula

Então, vamos calcular! Como representantes de temos

Considere o primeiro pedido, . Como representante de este espaço é apenas , que é o representante trivial unidimensional, . Como representante de também é trivial. Mas como representante de , não é trivial. Dentro dele estamos justapondo duas partículas com a hipercarga 1. As hipercargas adicionam, assim como as cargas, então a partícula composta, que consiste em uma partícula e a outra, tem a hipercarga 2. Então, como uma representação do grupo de calibres do Modelo Padrão, temos

Olhando para a Tabela 1, vemos que corresponde ao pósitron canhoto, . Observe que as hipercargas estão se tornando úteis agora, uma vez que identificam exclusivamente todas as representações de férmions e antifermions, exceto para os neutrinos.

Em seguida, considere a segunda soma:

Novamente, podemos adicionar hipercargas, portanto, esta representação de é isomórfico a

Este é o espaço para quarks canhotos de hipercarga , que da Tabela 1 é:

onde mais uma vez suprimimos o rótulo de cores.

Finalmente, a terceira soma exige em é

Isso tem isospin , então pela Tabela 1 é melhor corresponder ao antiquark anti-up canhoto, que vive na representação.

Vamos verificar. O representante é trivial sob . Como representante de é o mesmo que . Mas porque preserva a forma de volume em , tomar Hodge duals dá um isomorfismo

que é exatamente o que precisamos mostrar

Em resumo, as seguintes peças do representante do Modelo Padrão estão dentro :

Estamos quase terminando. Porque preserva a forma de volume canônico em , tomar Hodge duals dá um isomorfismo entre

como representações de . Dados nossos resultados até agora:

obtemos automaticamente as antipartículas destes ao tomar Hodge duais,

Então , como desejado.

Como tudo isso parece em termos do código binário prometido? Lembre-se, um código de 5 bits é a abreviação de um produto de cunha de vetores básicos . Por exemplo, 01101 corresponde a . E agora que encontramos um isomorfismo , cada um desses produtos em cunha corresponde a um férmion ou antifermion. Como vai essa correspondência, exatamente?

Considere primeiro a primeira parte . Isso tem vetores básicos chamados e . Vimos que o subespaço , medido por e , corresponde a

A partícula superior aqui tem isospin para cima, enquanto a de baixo tem isospin para baixo, então devemos ter e . Da mesma forma, o subespaço medido por e corresponde a

Portanto, devemos ter , Onde atropela as cores .

Em seguida, considere a parte da segunda série:

Aqui vive na unidimensional representante de , que é medido pelo vetor . Desse modo, . Os quarks canhotos vivem no representante de , que é dividido por vetores que consistem em um isospin e uma cor. Nós devemos ter e , onde novamente corre sobre todas as cores . E agora a parte complicada: o quarks vivem no representante de , mas isso é isomórfico à representação fundamental de em , que é medido por antired, antired e antiblue:

Esses vetores formam a base de isso é duplo para , , e sob a dualidade de Hodge em . Então devemos ter

onde /> pode ser qualquer anticolor. Preste atenção ao fato de que /> é grau 2, embora possa parecer grau 1.

Para calcular as outras notas, observe que a dualidade de Hodge corresponde à mudança de 0 e 1 em nosso código binário. Por exemplo, o dual de 01101 é 10010: ou escrito em termos de vetores de base, o dual de é . Assim, dados os códigos binários para os primeiros poderes exteriores:

O código binário para

Agora podemos ver um bom motivo, embora não decisivo, para escolher . Com esta escolha, e não a outra, obtemos partículas canhotas nos graus pares e partículas destras nos graus ímpares. Escolhemos ter esse padrão agora, mas mais tarde precisaremos dele.

A Tabela 4 define um isomorfismo linear em termos de vetores de base, então as equações nesta tabela são um pouco exageradas. Quando escrevemos, dizemos: , nós realmente queremos dizer . Este mapa é um isomorfismo entre representações de . Isso nos diz como essas representações são as 'mesmas'.

Mais precisamente, queremos dizer que essas representações são as mesmas quando identificamos com usando o isomorfismo induzido por . Em geral, podemos pensar em uma representação unitária como um homomorfismo de grupo de Lie

Onde é um espaço de Hilbert de dimensão finita e é o grupo Lie de operadores unitários em . Nesta seção, comparamos duas representações unitárias: uma representação feia e complicada de :

e uma representação agradável e bonita de :

então é natural se perguntar se existe um quarto homomorfismo

Na verdade, acabamos de mostrar isso! Vimos que existe um operador unitário do representante do Modelo Padrão para , dizer

de modo que o isomorfismo induzido dos grupos unitários,

faz o quadrado acima comutar. Então, vamos resumir este resultado como um teorema:

onde a seta vertical esquerda é a representação do modelo padrão e a direita é a representação natural de na álgebra exterior de .


Podemos usar a cara feliz da divisibilidade de cinco!

Comece no estado $. Siga as setas apropriadas conforme você lê os dígitos do seu número binário da esquerda para a direita. Se você terminar no estado $ novamente, seu número será divisível por $ 5 $ (e se não, o número do estado fornecerá o restante).

Como funciona? Bem, se estamos no estado $ k $, isso significa que os dígitos que lemos até agora formam o número $ n $ com o resto $ k equiv n mod 5 $. Se lermos outro dígito $ b $, passaremos efetivamente para o novo número $ n '= 2n + b $. Portanto, precisamos mover para o estado $ (2k + b) bmod 5 $, que é exatamente o que fazemos no gráfico acima. Portanto, se acabarmos no estado $, no final sabemos que não há resto, e o número que lemos é divisível por 5.

O diagrama de estado acima é apenas essa lógica exibida graficamente. Você também poderia tê-lo como uma mesa:

começar k & amp b & amp 2k + b & amp (2k + b) bmod 5 hline 0 & amp 0 & amp 0 & amp 0 0 & amp 1 & amp 1 & amp 1 1 & amp 0 & amp 2 & amp 2 1 & amp 1 & amp 3 & amp 3 2 & amp 0 & amp 4 & amp 4 2 & amp 1 & amp 5 & amp 0 3 & amp 0 & amp 6 & amp 1 3 & amp 1 & amp 7 & amp 2 4 & amp 0 & amp 8 & amp 3 4 e amp 1 e amp 9 e amp 4 hline end

Isso também é uma boa regra mental. Você começa com o número $ em sua cabeça e olha os dígitos da esquerda para a direita. Para cada dígito, você multiplica o número em sua cabeça por 2 e adiciona o dígito que acabou de ler. Se o número for cinco ou mais, você subtrai cinco. Se você terminar com $, o número será divisível por 5.


Assista o vídeo: Dodawanie Binarne Ułamków (Dezembro 2021).