Commit 4f29241e authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

Revisão ortográfica

parent 451783c6
......@@ -4,11 +4,11 @@
____________________
Ao final deste capítulo você deverá ser capaz de:
- Entender a origem dos sistemas de numeração na história;
- Explicar o funcionamento do sistema de numeração binário;
- Ser capaz de efetuar operações da aritmética e lógica binária;
- Compreender como a lógica binária permite criar operações mais complexas
no computador.
* Entender a origem dos sistemas de numeração na história
* Explicar o funcionamento do sistema de numeração binário
* Ser capaz de efetuar operações da aritmética e lógica binária
* Compreender como a lógica binária permite criar operações mais complexas
no computador
____________________
......@@ -20,7 +20,7 @@ palavras se diferenciaram das coisas a que se referem. Os símbolos "11",
mesmo número, apenas escrito em idiomas e épocas diferentes. Este capítulo
debruça-se sobre os vários aspectos dos sistemas de numerais.
Entraremos em mais detalhes sobre o sistema de numeração binária, devido a
Entraremos em mais detalhes sobre o sistema de numeração binária devido a
sua utilização nos computadores, permitindo assim, que o mesmo realize
pequenas operações aritméticas que servirão como base para grandes
operações como busca, ordenação e indexação de informação entre outras
......@@ -50,7 +50,7 @@ sistemas de numeração.
==== Sistema de numeração Egípcio (3000 a.C.)
Um dos primeiros sistemas de numeração que temos conhecimento é o egípcio,
foi desenvolvido pelas civilizações que viviam no vale do Rio Nilo, ao
quefoi desenvolvido pelas civilizações que viviam no vale do Rio Nilo, ao
nordeste da África.
Observem, na <<sistema_egipcio>>, os símbolos e a representação de alguns números
......@@ -67,11 +67,11 @@ simples adição destes.
==== Sistemas de numeração Babilônico (2000 a.C.)
Os babilônicos viviam na Mesopotâmia, nos vales dos rios Tigres e Eufrates,
Os babilônios viviam na Mesopotâmia, nos vales dos rios Tigres e Eufrates,
na Ásia. Esta região é ocupada atualmente pelo Iraque.
Na escrita dos números, o sistema de numeração dos babilônios se parecia
muito com o sistema de numeração desenvolvida pelos egípcios, ambos eram
muito com o sistema de numeração desenvolvido pelos egípcios, ambos eram
aditivos. Observe, na <<fig_sistema_babilonico>>, os símbolos e a representação de alguns
números, de 7 a 59, nesse sistema de numeração.
......@@ -101,12 +101,12 @@ como:
- na designação de papas e reis;
- na designação de séculos e datas;
- na indicação de capítulos e volumes de livros;
- nos mostradores de alguns relógios, etc.
- na indicação de capítulos e volumes de livros;
- nos mostradores de alguns relógios, etc.
Com o passar dos anos, o sistema de numeração romano (<<sistema_romano>>) sofreu um longo processo
de evolução. Inicialmente, os romanos utilizavam apenas o principio aditivo,
sendo que um mesmo símbolo podia ser repetido até, no máximo, 4 vezes.
sendo que um mesmo símbolo podia ser repetido até, no máximo, quatro vezes.
Posteriormente, eles evoluíram este sistema, passando a utilizar também o
princípio subtrativo, além de permitir a repetição de um mesmo símbolo, no
máximo, três vezes.
......@@ -117,11 +117,12 @@ image::images/sistema-de-numeracao/sistema_romano.png[scaledwidth="60%"]
==== Sistemas de numeração Indo-Arábico
Os hindus, que viviam no vale do Rio Indo, onde hoje é o Paquistão,
conseguiram desenvolver um sistema de numeração que reunia as diferentes
características dos antigos sistemas.
Tratava-se de um sistema posicional decimal. Posicional porque um mesmo
Tratava-se de um sistema posicional decimal. Posicional porque um mesmo
símbolo representava valores diferentes dependendo da posição ocupada, e
decimal porque era utilizado um agrupamento de dez símbolos.
......@@ -152,15 +153,16 @@ hindus.
==========
=== Sistema de Numeração Posicional
O método de numeração de quantidades ao qual estamos acostumados, usam um
sistema de numeração posicional. Isso significa que a posição ocupada por
O método de numeração de quantidades ao qual estamos acostumados, utiliza um
sistema de numeração posicional. Isto significa que a posição ocupada por
cada algarismo em um número altera seu valor de uma potência de 10 (na base
10) para cada casa à esquerda.
Por exemplo:
No sistema decimal (base 10), no número 125 o algarismo 1 representa 100 (uma
centena ou 10^2^), 0 2 representa 20 (duas dezenas ou 2 x 10^1^), o 5 representa 5
centena ou 10^2^), o 2 representa 20 (duas dezenas ou 2 x 10^1^), o 5 representa 5
mesmo (5 unidades ou 5x10^0^).
Assim, em nossa notação:
......@@ -180,7 +182,7 @@ seja a única utilizada. No comércio pedimos uma dúzia de rosas (base 12) e
marcamos o tempo em minutos e segundos (base 60).
Quando lidamos com computadores, é muito comum e conveniente o uso de outras
bases, as mais importantes são binário (base 2), octal (base 8) e hexadecimal
bases, as mais importantes são a binária (base 2), octal (base 8) e hexadecimal
(base 16).
Um sistema numérico de base k precisa de k símbolos diferentes para
......@@ -213,8 +215,8 @@ O octal necessita de oito:
|==============
No caso de números hexadecimais, são necessários 16 algarismos. Portanto,
serão mais 6 símbolos além dos dez algarismos arábicos. Em geral usam-se as
letras maiúsculas de A à F:
serão mais 6 símbolos além dos dez algarismos arábicos. Em geral, usam-se as
letras maiúsculas de A a F:
[cols="^"]
|==============
......@@ -239,13 +241,13 @@ um número tal como segue:
|==============
Abaixo o número 35 será expresso nas bases elencadas acima:
Abaixo, o número 35 será expresso nas bases elencadas acima:
(((Decimal)))(((Binário)))(((Octal)))(((Hexadecimal)))
Decimal:: 35 = 3×10^1^ + 5×10^0^ = 30 + 5 = 35~10~
Binário:: 35 = 1×25 + 0×24 + 0×23 + 0×22 + 1×21 + 1×20 = 32 + 0 + 0 + 0 + 2 + 1 = 100011~2~
Binário:: 35 = 1×2^5^ + 0×2^4^ + 0×2^3^ + 0×2^2^ + 1×2^1^ + 1×2^0^ = 32 + 0 + 0 + 0 + 2 + 1 = 100011~2~
Octal:: 35 = 4×8^1^ + 3×8^0^ = 32 + 3 = 43~8~
......@@ -257,6 +259,7 @@ Nesta seção iremos analisar as regras gerais para converter números entre
duas bases quaisquer.
==== Conversões entre as bases 2, 8 e 16
As conversões mais simples são as que envolvem bases que são potências
entre si. Vamos exemplificar com a conversão entre a base 2 e a base 8. Como
2~3~ = 8, então a conversão funciona da seguinte forma: separando os algarismos
......@@ -298,7 +301,7 @@ Logo:
Vamos agora exemplificar com uma conversão entre as bases 2 e 16. Como 2^4^ =
16, seguindo o processo anterior, basta separarmos em grupos de 4 algarismos e
16, seguindo o processo anterior, basta separarmos em grupos de quatro algarismos e
converter cada grupo seguindo a <<tabela_binario_hexa>>.
Por exemplo:
......@@ -361,6 +364,7 @@ Portanto:
==== Conversão de números em uma base b qualquer para a base 10.
Vamos lembrar a expressão geral já apresentada:
[cols="^"]
......@@ -368,8 +372,8 @@ Vamos lembrar a expressão geral já apresentada:
| N~b~ = a~0~ × b^n^ + a~1~ × b^n-1^ + ... + a~n~ × b^0^
|==============
A melhor forma de fazer a conversão é usando essa expressão. Como exemplo o
número 101101~2~ será calculado seu valor na base 10:
A melhor forma de fazer a conversão é usando essa expressão. Como exemplo, o
número 101101~2~ terá calculado seu valor na base 10:
[cols="^"]
|==============
......@@ -394,10 +398,11 @@ Converter 485~9~ para a base 10:
==== Conversão de números da base 10 para uma base b qualquer
A conversão de números da base 10 para uma base qualquer, emprega algoritmos
que serão o inverso dos anteriores. O número decimal será dividido
sucessivas vezes pela base, o resto de cada divisão ocupará sucessivamente as
posições de ordem 0, 1, 2 e assim por diante até que o resto da última
posições de ordem 0, 1, 2 e assim por diante, até que o resto da última
divisão (que resulta em quociente 0) ocupe a posição de mais alta ordem.
- Conversão do número 19~10~ para a base 2:
......@@ -440,7 +445,7 @@ Logo temos:
Os computadores lidam com números positivos e números negativos, sendo
necessário encontrar uma representação para números com sinal negativo.
Existe uma grande variedade de opções, das quais nesta seção serão
apresentadas apenas 3 para representar valores negativos:
apresentadas apenas três para representar valores negativos:
- sinal e amplitude/magnitude (S+M)
- complemento de 1
......@@ -461,7 +466,7 @@ image::images/sistema-de-numeracao/sinal_magnitude.png[scaledwidth="70%"]
(((Complemento de 1)))
Na representação em complemento de 1 invertem-se todos os bits de um número
para representar o seu complementar: assim se converte um valor positivo para
para representar o seu complementar: assim, se converte um valor positivo para
um negativo, e vice-versa. Quando o bit mais à esquerda é 0, esse valor é
positivo; se for 1, então é negativo.
......@@ -547,6 +552,7 @@ Logo:
=== Aritmética Binária
Como o computador manipula os dados (números) através de uma representação
binária, iremos estudar agora a aritmética do sistema binário, a mesma usada
pela ULA (Unidade Lógica e Aritmética) dos processadores.
......@@ -601,7 +607,7 @@ image::images/sistema-de-numeracao/figura2.png[scaledwidth="25%"]
Na eletrônica digital de dispositivos tais como computadores, circuitos
simples custam menos e operam mais rápido do que circuitos mais complexos.
Logo números em complemento de dois são usados na aritmética, pois eles
Logo, números em complemento de dois são usados na aritmética, pois eles
permitem o uso dos circuitos mais simples, baratos e rápidos.
Uma característica do sistema de complemento de dois é que tanto os números
......@@ -627,18 +633,18 @@ entradas forem números em complemento de dois.
image::images/sistema-de-numeracao/figura4.png[scaledwidth="60%"]
Isto comprova um ponto muito importante. O somador na ALU sempre soma padrões
Isto comprova um ponto muito importante. O somador na ULA sempre soma padrões
de bits como se eles fossem números binários sem sinal. É a nossa
interpretação destes padrões que decide se números com ou sem sinal estão
sendo indicados. O bom do complemento de dois é que os padrões de bits podem
ser interpretados de qualquer maneira. Isto nos permite trabalhar como números
ser interpretados de qualquer maneira. Isto nos permite trabalhar com números
com e sem sinal sem requerer diferentes circuitos para cada padrão.
A aritmética de complemento de dois também simplifica a ALU em outro ponto.
Todo o microprocessador precisa a instrução de subtração. Assim, a ALU deve
A aritmética de complemento de dois também simplifica a ULA em outro ponto.
Todo microprocessador precisa da instrução de subtração. Assim, a ULA deve
ser capacitada a subtrair um número de outro. Entretanto, se isto necessitar
de um circuito de subtração separado, a complexidade e o custo da ALU seriam
aumentados. Felizmente, a aritmética de complemento de dois permite a ALU,
de um circuito de subtração separado, a complexidade e o custo da ULA seriam
aumentados. Felizmente, a aritmética de complemento de dois permite a ULA,
realizar operações de subtração usando um circuito somador. Ou seja, a CPU
usa o mesmo circuito tanto para soma como para subtração.
......@@ -654,7 +660,7 @@ Jogue fora o transporte final:
image::images/sistema-de-numeracao/transporte-final.png[]
Este método permite a CPU realizar subtração e adição com o mesmo
Este método permite à CPU realizar subtração e adição com o mesmo
circuito. O método que a CPU usa para realizar subtração é de pouca
importância para o uso de microprocessadores.
......@@ -669,7 +675,7 @@ Vamos ver agora a tabuada da multiplicação:
1 x 0 = 0
1 x 1 = 1
NOTE: O processo é idêntico a multiplicação entre números decimais.
NOTE: O processo é idêntico à multiplicação entre números decimais.
Exemplo:
......@@ -680,7 +686,7 @@ Solução:
image::images/sistema-de-numeracao/figura5.png[scaledwidth="40%"]
No entanto, a multiplicação em computadores é feita, também, por um
artifício: Para multiplicar A por n somamos A com A (n-1) vezes.
artifício: para multiplicar A por n somamos A com A (n-1) vezes.
Exemplo:
......@@ -706,7 +712,7 @@ O número de subtrações indica o resultado da divisão inteira, neste caso,
igual a 4.
NOTE: Podemos concluir que qualquer operação aritmética pode ser realizada em
computadores através de somas (diretas ou em complemento). Com isso
computadores através de somas (diretas ou em complemento). Com isso
diminui-se o número de circuitos lógicos de operações para o processador.
=== Representação de Número Fracionário no Sistema Binário
......@@ -717,7 +723,7 @@ diminui-se o número de circuitos lógicos de operações para o processador.
Esta notação conhecida como Notação de Ponto Fixo, utiliza um ponto que
funciona da mesma forma que o ponto da notação decimal. Em outras palavras,
os dígitos a esquerda do ponto representam a parte inteira do valor,
os dígitos à esquerda do ponto representam a parte inteira do valor,
funcionando da mesma forma que a notação binária. E os dígitos à direita
do ponto representam a parte não inteira, sendo o expoente da base 2
decrementada em 1 a cada casa afastada do ponto.
......@@ -813,6 +819,7 @@ bit mais significativo são números negativos, servindo o mesmo como bit de
sinal.
==== Notação de Ponto Flutuante
O primeiro ponto a ser discutido, é o motivo da criação da Notação de
Ponto Flutuante, já que na seção anterior já tínhamos trabalhado com a
representação de números não inteiros utilizando a Notação de Ponto Fixo.
......@@ -820,7 +827,7 @@ representação de números não inteiros utilizando a Notação de Ponto Fixo.
O problema do Ponto Fixo, é que o tamanho da parte inteira e da fracionária
fica fixo com relação a seu armazenamento em memória, logo para números com
a parte apenas inteira, a região alocada para tratar a parte fracionária
será inutilizada e vice-versa. Logo para evitar este desperdício criou-se a
será inutilizada e vice-versa. Logo, para evitar este desperdício criou-se a
Notação de Ponto Flutuante.
////
......@@ -856,7 +863,7 @@ sinal, expoente e mantissa.
////
Para decodificarmos o byte, extraímos primeiro a mantissa e colocamos o ponto
binário a sua esquerda, obtendo:
binário à sua esquerda, obtendo:
[cols="^"]
|==============
......@@ -866,7 +873,7 @@ binário a sua esquerda, obtendo:
Em seguida, extraímos o conteúdo do campo do expoente e o interpretamos como
um inteiro codificado em três bits pelo método de representação de excesso,
nos dando o número positivo 2 (vide <<tb_excesso_com_3_bits>>). Isto indica que devemos
deslocar o ponto binário dois bits a direita (Um expoente negativo codifica um
deslocar o ponto binário dois bits à direita (um expoente negativo codifica um
deslocamento para a esquerda do ponto binário com a adição do valor 0).
Como resultado temos:
......@@ -951,6 +958,7 @@ underflow respectivamente. Outro fenômeno é o próprio overflow da mantissa
como mostrado acima.
==== Adição e Subtração em Ponto Flutuante
A adição e a subtração de ponto flutuante tratam os expoentes junto com o
valor dos operandos, logo há a necessidade de equalizar os expoentes e efetuar
a operação sobre a mantissa equalizada e o resultado deve ser normalizado
......@@ -987,10 +995,11 @@ Normalizando:
Representação do resultado (01101010 + 01011100) em Ponto Flutuante = 01101000
=== Lógica Binária
George Boole publicou a álgebra booleana (em 1854), sendo um sistema completo
que permitia a construção de modelos matemáticos para o processamento
computacional. O fascinante na lógica booleana é partir de três operadores
básicos, que veremos a seguir, e construir Circuitos Lógicos capazes de
básicos, que veremos a seguir, e construir *Circuitos Lógicos* capazes de
realizar as diversas operações necessárias para um computador.
A seguir a descrição de cada um dos 3 operadores básicos. A <<fig_portas_logicas>>
......@@ -1033,7 +1042,7 @@ image::images/sistema-de-numeracao/portas_logicas.jpg[]
Neste capítulo, aprendemos sobre os sistemas de numeração, dando ênfase ao
sistema binário, sendo este o sistema adotado pelos computadores. Aprendemos
como funciona a aritmética binária, soma, subtração, representação
negativa dos números entre outros. Em seguida foi apresentada a lógica
negativa dos números, entre outros. Em seguida, foi apresentada a lógica
binária e seus três comandos básicos (AND, OR, NOT). Mas como um computador
soma de fato?
......@@ -1041,16 +1050,14 @@ Primeiramente, precisamos abordar as portas lógicas, elas são a base para as
outras operações. A construção de uma porta lógica, utiliza conhecimentos
de circuitos eletrônicos formados por diodos, resistências, capacitores entre
outros que são abordados em cursos avançados da Eletrônica Analógica,
entretanto seu entendimento foge ao escopo deste livro.
entretanto, seu entendimento foge ao escopo deste livro.
TIP: Para melhores detalhes sobre portas lógicas visite:
http://www.dcmm.puc-rio.br/cursos/eletronica/html/sld001.htm.
// XXX Site fora do ar? http://www.dcmm.puc-rio.br/cursos/eletronica/html/sld001.htm
O importante agora é sabermos que existem portas lógicas que seguem a lógica
binária já apresentada e que estas portas podem ser combinadas, formando os
Circuitos Digitais. A Figura <<fig_somador>> apresenta um Circuito Digital Somador de Dois
*Circuitos Digitais*. A Figura <<fig_somador>> apresenta um Circuito Digital Somador de Dois
Bits.
(((somador)))
......@@ -1061,10 +1068,10 @@ image::images/sistema-de-numeracao/somador.png[]
Propomos ao leitor, tentar acompanhar passo a passo o circuito digital proposto
e entender como possíveis entradas binárias em A e B terão o resultado
esperado nas saídas soma e carry. Em seus testes utilize a <<tb_somador>>,
esperado nas saídas 'soma' e 'carry'. Em seus testes utilize a <<tb_somador>>,
e se tiver alguma dúvida sobre os valores da tabela, revisem a
operação de soma com dois bits, onde a saída soma representa o valor da soma
na unidade corrente e o carry representa o “vai um” da operação.
operação de soma com dois bits, onde a saída 'soma' representa o valor da soma
na unidade corrente e o 'carry' representa o “vai um” da operação.
[[tb_somador]]
.Tabela de valores da operação de Soma de Dois Bits
......@@ -1078,13 +1085,13 @@ na unidade corrente e o carry representa o “vai um” da operação.
|======================
=== Recaptulando
=== Recapitulando
Neste capítulo estudamos a origem dos sistemas de numeração. Aprendemos a
trabalhar com os sistemas de numeração mais utilizados na computação.
Aprendemos mais profundamente o funcionamento do sistema binário, sua
aritmética, representação de números negativos, representação de
números fracionários e a lógica binário proposta por George Boole.
aritmética, representação de números negativos, representação de
números fracionários e a lógica binária proposta por George Boole.
Por fim demos uma introdução sobre como o computador consegue realizar as
operações aritméticas a partir de porta lógica básica, demonstrando o
......@@ -1142,8 +1149,8 @@ como um bit, valendo 1 se esticado, e 0 se dobrado.
.. Com este método, até quanto é possível contar usando ambas as mãos?
.. Considere que um dos dedos na extremidade da mão é o bit do sinal
numa representação em complemento para 2. Qual a gama de valores que é
possível representar com ambas as mãos?
numa representação em complemento para 2. Qual a gama de valores que é
possível representar com ambas as mãos?
8. Efetue as operações Aritméticas no sistema binário:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment