Bits e Byte

7
1. Bits e Bytes 1.1. Sistema de Numeração Um sistema de numeração é um conjunto de princípios constituindo o artifício lógico de classficação em grupos e subgrupos das unidades que formam os números. A base de um sistema de numeração é uma certa quantidade de unidades que deve constituir uma unidade de ordem imediatamente superior. Os sistemas de numeração tem seu nome derivado da sua base, ou seja, o sistema binário tem base dois, o sistema septimal tem base sete e o decimal tem base dez. 1.1.1. Sistema Decimal O sistema decimal é um sistema de numeração de posição que utiliza a base dez. O princípio fundamental do sistema decimal é que dez unidades de uma ordem qualquer formam uma de ordem imediatamente superior. Depois das ordens, as unidades constitutivas dos números são agrupadas em classes, em que cada classe tem três ordens, em que cada ordem tem uma denominação especial, sendo idênticas às mesmas ordens de outras classes. A primeira classe, das unidades, tem as ordens das centenas, dezenas e unidades. A primeira ordem da primeira classe, ou seja, a ordem das unidades, corresponde aos números um, dois, três, quatro, cinco, seis, sete, oito e nove. A segunda ordem da primeira classe, a ordem das dezenas, corresponde aos números dez (uma dezena), vinte (duas dezenas), trinta (três dezenas), quarenta (quatro dezenas), cinquenta (cinco dezenas), sessenta (seis dezenas), setenta (sete dezenas), oitenta (oito dezenas) e noventa (nove dezenas), sendo cada um destes números dez vezes o número correspondente na ordem anterior. A terceira ordem da primeira classe, a ordem das centenas, corresponde aos números que vão de uma centena a nove centena, ou seja, cem, duzentos, trezentos, quatrocentos, quinhentos, seiscentos, setecentos, oitocentos e novecentos. Analogamente, cada um destes números corresponde a dez vezes o número correspodente na ordem anterior. A segunda classe, a classe dos milhares, inclui a quarta, quinta e sexta ordens, que são, respectivamente, a ordem das unidades de milhar, dezenas de milhar e centenas de milhar. Seus nomes são os nomes dos números da primeira classe, seguidos de milhares. Ou seja, a quarta ordem (unidades de milhar) corresponde a mil (ou um milhar), dois mil, etc, até nove mil, a quinta ordem, dezenas de milhar, vai de dez mil a noventa mil, e a sexta ordem, centenas de milhar, vai de cem mil a novecentos mil. A terceira classe corresponde à classe dos milhões. A partir daí, segundo o texto de João José Luiz Viana adotado no Brasil, as classes se chamam classes dos bilhões (quarta classe), trilhões (quinta classe), quatrilhões (sexta classe), quintilhões (sétima classe), seistilhões (oitava classe), septilhões (nona classe), octilhões (décima classe), nonilhões (décima primeira classe), etc.

description

Apostila de informática. Nesta lição: bit e byte.

Transcript of Bits e Byte

Page 1: Bits e Byte

1. Bits e Bytes

1.1. Sistema de Numeração

Um sistema de numeração é um conjunto de princípios constituindo o artifício lógico de

classficação em grupos e subgrupos das unidades que formam os números. A base de

um sistema de numeração é uma certa quantidade de unidades que deve constituir uma

unidade de ordem imediatamente superior. Os sistemas de numeração tem seu nome

derivado da sua base, ou seja, o sistema binário tem base dois, o sistema septimal tem

base sete e o decimal tem base dez.

1.1.1. Sistema Decimal

O sistema decimal é um sistema de numeração de posição que utiliza a base dez.

O princípio fundamental do sistema decimal é que dez unidades de uma ordem qualquer

formam uma de ordem imediatamente superior. Depois das ordens, as unidades

constitutivas dos números são agrupadas em classes, em que cada classe tem três

ordens, em que cada ordem tem uma denominação especial, sendo idênticas às mesmas

ordens de outras classes.

A primeira classe, das unidades, tem as ordens das centenas, dezenas e unidades. A

primeira ordem da primeira classe, ou seja, a ordem das unidades, corresponde aos

números um, dois, três, quatro, cinco, seis, sete, oito e nove. A segunda ordem da

primeira classe, a ordem das dezenas, corresponde aos números dez (uma dezena), vinte

(duas dezenas), trinta (três dezenas), quarenta (quatro dezenas), cinquenta (cinco

dezenas), sessenta (seis dezenas), setenta (sete dezenas), oitenta (oito dezenas) e

noventa (nove dezenas), sendo cada um destes números dez vezes o número

correspondente na ordem anterior. A terceira ordem da primeira classe, a ordem das

centenas, corresponde aos números que vão de uma centena a nove centena, ou seja,

cem, duzentos, trezentos, quatrocentos, quinhentos, seiscentos, setecentos, oitocentos e

novecentos. Analogamente, cada um destes números corresponde a dez vezes o número

correspodente na ordem anterior.

A segunda classe, a classe dos milhares, inclui a quarta, quinta e sexta ordens, que são,

respectivamente, a ordem das unidades de milhar, dezenas de milhar e centenas de

milhar. Seus nomes são os nomes dos números da primeira classe, seguidos de

milhares. Ou seja, a quarta ordem (unidades de milhar) corresponde a mil (ou um

milhar), dois mil, etc, até nove mil, a quinta ordem, dezenas de milhar, vai de dez mil a

noventa mil, e a sexta ordem, centenas de milhar, vai de cem mil a novecentos mil.

A terceira classe corresponde à classe dos milhões. A partir daí, segundo o texto de

João José Luiz Viana adotado no Brasil, as classes se chamam classes dos bilhões

(quarta classe), trilhões (quinta classe), quatrilhões (sexta classe), quintilhões (sétima

classe), seistilhões (oitava classe), septilhões (nona classe), octilhões (décima classe),

nonilhões (décima primeira classe), etc.

Page 2: Bits e Byte

Os nomes dos números inteiros compreendidos entre dez e vinte, ou entre vinte e trinta,

etc, até os compreendidos entre noventa e cem, são formados pelos nomes das unidades

de segunda ordem, seguidos dos nomes das unidades de primeira ordem: dez e um, dez e

dois, ..., dez e nove, vinte e um, ..., ..., noventa e nove; em lugar de dez e um, ..., dez e

cinco diz-se onze, doze, treze, quatorze e quinze.

Os nomes dos noventa e nove números compreendidos entre cada dois números da

terceira ordem, ou seja, os números entre cem e duzentos, ou entre duzentos e trezentos,

etc, são formados dos números da unidade de terceira ordem seguidos dos nomes dos

noventa e nove primeiros números inteiros, e são cento e um, cento e dois, ..., cento e

noventa e nove, duzentos e um, duzentos e dois, duzentos e três, ..., duzentos e noventa

e nove, trezentos e um, trezentos e dois, trezentos e três, ..., novecentos e noventa e

nove.

1.1.2. Sistema Binário

O sistema binário ou de base 2 é um sistema de numeração posicional em que todas as

quantidades se representam com base em dois números, ou seja, zero e um (0 e 1).

Os computadores digitais trabalham internamente com dois níveis de tensão, pelo que o

seu sistema de numeração natural é o sistema binário (aceso, apagado). Com efeito, num

sistema simples como este é possível simplificar o cálculo, com o auxílio da lógica

booleana. Em computação, chama-se um dígito binário (0 ou 1) de bit, que vem do

inglês Binary Digit. Um agrupamento de 8 bits corresponde a um byte (Binary Term).

Um processador é formado por milhares de blocos lógicos complexos, formados por

portas lógicas básicas, e o funcionamento destas está amparado por um postulado

fundamental a eletrônica digital que determina que um circuito opere apenas com 2

níveis de tensão bem definidos. Em um circuito digital TTL (Transistor Transistor

Logic), os dois níveis de tensão padronizados são 0V (zero volt) e 5V (cinco volts). Ao

projetar um sistema digital, ao invés de trabalhar com níveis de tensão trabalha-se com

níveis lógicos, então, no caso do circuito TTL, 0V será representado por “0” e 5V será

representado por “1”, e os níveis de tensão entre eles serão ignorados, ou seja, adotar-

se-à uma faixa até a qual será considerado nível lógico zero, e a partir dela, nível lógico

1. Neste caso, de 0V a 2,5V temos “0”, e a partir daí até 5V temos “1”.

O sistema binário é base para a Álgebra booleana (de George Boole - matemático

inglês), que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos

ou dois estados (sim e não, falso e verdadeiro, tudo ou nada, 1 ou 0, ligado e desligado).

Toda a electrônica digital e computação está baseada nesse sistema binário e na lógica

de Boole, que permite representar por circuitos electrónicos digitais (portas lógicas) os

números, caracteres, realizar operações lógicas e aritméticas. Os programas de

computadores são codificados sob forma binária e armazenados nas mídias (memórias,

discos, etc) sob esse formato.

1.1.3. Sistema Hexadecimal

O sistema hexadecimal é um sistema de numeração posicional que representa os

números em base 16, portanto empregando 16 símbolos.

Page 3: Bits e Byte

Ele é muito utilizado para representar números binários de uma forma mais compacta,

pois é muito fácil converter binários pra hexadecimal e vice-versa. Dessa forma, esse

sistema é bastante utilizado em aplicações de computadores e microprocessadores

(programação, impressão e displays).

Devido ao sistema decimal geralmente usado para a numeração apenas dispor de dez

símbolos, deve-se incluir seis letras adicionais para completar o sistema. O conjunto de

símbolos fica, portanto, assim:

1.1.4. Sistema Octal

É um sistema de numeração cuja base é 8, ou seja, utiliza 8 símbolos para a

representação de quantidade. No ocidente, estes símbolos são os algarismos arábicos: 0

1 2 3 4 5 6 7.

O octal foi muito utilizado em informática como uma alternativa mais compacta ao

binário na programação em linguagem de máquina. Hoje, o sistema hexadecimal é mais

utilizado como alternativa ao binário.

Este sistema também é um sistema posicional e a posição de seus algarismos

determinada em relação à vírgula decimal. Caso isso não ocorra, supõe-se

implicitamente colocada à direita do número.

1.2. Conversão de Bases

1.2.1. Binário para Decimal

O número binário que usamos anteriormente será nosso alvo para esse momento. Como

saber que o binário abaixo vale 11 na base 10?

Posição 7 6 5 4 3 2 1 0

Binário 0 0 0 0 1 0 1 1

Base 2 2 2 2 2 2 2 2

Decimal 128 64 32 16 8 4 2 1

Os números que não estão preenchidos em cinza serão ignorados para o cálculo por

resultarem em estados zero e assim não tem valor significativo para efeito de conversão.

Como vamos converter para base 10 devemos calcular o binário pela sua posição na

sequencia, ou seja, vamos elevar a bases dois (lembrem-se dois estados para cada bit:

ligado/desligado) ao núemro da posição correspondente ao bit, dessa maneira (sempre

da direita para a esquerda):

23 = 8; 2

2 = 4; 2

1 = 2; 2

0 = 1;

Feito esses cálculos basta somar os resultados que correspondam aos bits de valor 1 já

que bit zero não conta para cálculo, apenas para compor a posição desse binário. Fica

assim:

8 + 2 + 1 = 11(10)

Page 4: Bits e Byte

Este cálculo também pode ser feito da seguinte maneira:

1 x 23 + 0 x 2

2 + 1 x 2

1 + 1 x 2

0

8 + 0 + 2 + 1 = 11

1.2.2. Decimal para Binário

O número decimal que foi o resultado do binário anterior será nosso alvo para esse

momento. Como converter o decimal 11(10) em binário? É muito fácil: basta dividir o

número 11 por dois até que o último quociente for zero. Então pegue todos os restos das

divisões e inverta a posição deles

11 2

1 5 2

1 2 2

0 1 2

1 0

1 1 0 1

1.2.3. Decimal para Hexadecimal

Nós sabemos que o código hexadecimal é formado pelos números de 0 a 9 e pelas letras

de A a F. Isso nos dá dezesseis elementos, por isso, hexadecimal. Vamos utilizar um

número maior que 11 para ilustrarmos essa conversão. Utilizaremos o número 65(10).

Para fazermos a conversão basta dividirmos o número 165 por 16. Deste modo:

165 16

5 10

Como não dá para dividir 10 por 16. Também deve-se pegar o quociente e o resto da

operação e inverte-la. Nosso cálculo terminou mas a conversão ainda não. Agora

preciso verificar na tabela hexadecimal a posição de cada número obtido na divisão e se

for necessário substituí-lo pelo valor da tabela hexa.

Correspondente 0 1 2 3 4 5 6 7 8 9 A B C D E F

Valor 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A posição 10 para o número 10. Mas o valor hexadecimal é a letra A.

A posição 5 para o número 5 que neste caso tem valor hexadecimal 5.

Então o valor hexadecimal do decimal 165 é A5.

Page 5: Bits e Byte

1.2.4. Hexadecimal para Decimal

Usando o mesmo A5(16) para o exemplo a seguir.

Pegue a letra A e substitua pelo número correspondente na tabela hexadecimal: A = 10; Faça o mesmo com o número 5 que no caso também é 5.

10 x 161 + 5 x 16

0

10 x 16 + 5 x 1

160 5 = 165(10)

Lembre-se da regrinha matemática que todo número elevado ao expoente zero vale 1.

1.2.5. Hexadecimal para Binário

Para essa conversão um pouco mais de atenção!

Usando o hexadecimal A5: Pegue a letra A e substitua pelo valor corresnpondente na tabela hexadecimal, ou seja, o valor

10.

Pegue o número 5 e substitua pelo valor correspondente na tabela hexadecimal, ou seja, o valor 5.

Em seguida repita o item 1.2.2 – transformar decimal em binário.

10 2

0 5 2

1 2 2

0 1 2

1 0

5 2

1 2 2

0 1 2

1 0

Hexadecimal A 5

Valor na tabela

hexadecimal 10 5

Binário 1010 101

Confuso?

Page 6: Bits e Byte

Valor binário para o A:

Posição 7 6 5 4 3 2 1 0

Binário 0 0 0 0 1 0 1 0

Base 2 2 2 2 2 2 2 2

Decimal 128 64 32 16 8 4 2 1

Pegue os valores decimais que correspondam ao bit 1 e some: 8 + 2 = 10.

Valor binário para o 5:

Posição 7 6 5 4 3 2 1 0

Binário 0 0 0 0 0 1 0 1

Base 2 2 2 2 2 2 2 2

Decimal 128 64 32 16 8 4 2 1

Pegue os valores decimais que correspondam ao bit 1 e some: 4 + 1 = 5.

Não é difícil converter os números. Basta um pouco de atenção e pronto.

2. A Informação no computador

Como vimos, o computador “entende” o código binário, 0 e 1. Como são dois estados

de um mesmo elemento (bit) e estes elementos agrupados em 8 bits, temos então, 28 que

totaliza 256 tipos de informações em uma tabela definida pela ANSI – American

National Standards Institute, chamada ASCII – American Standard Code for

Information Interchange.

Esta tabela contém as representações decimais, hexadecimais, binárias e a representação

gráfica ou o tipo de controle de cada elemento da informação. Exemplo:

DEC HEX BIN Symbol Description

0 00 00000000 NUL Null char

1 01 00000001 SOH Start of Heading

2 02 00000010 STX Start of Text

3 03 00000011 ETX End of Text

4 04 00000100 EOT End of Transmission

5 05 00000101 ENQ Enquiry

6 06 00000110 ACK Acknowledgment

7 07 00000111 BEL Bell

8 08 00001000 BS Back Space

.

.

.

.

Page 7: Bits e Byte

32 20 00100000 Space

33 21 00100001 ! Exclamation mark

34 22 00100010 " Double quotes (or speech marks)

35 23 00100011 # Number

36 24 00100100 $ Dollar

37 25 00100101 % Procenttecken

38 26 00100110 & Ampersand

39 27 00100111 ' Single quote

40 28 00101000 ( Open parenthesis (or open bracket)

41 29 00101001 ) Close parenthesis (or close bracket)

42 2A 00101010 * Asterisk

43 2B 00101011 + Plus

44 2C 00101100 , Comma

45 2D 00101101 - Hyphen

46 2E 00101110 . Period, dot or full stop

47 2F 00101111 / Slash or divide

48 30 00110000 0 Zero

49 31 00110001 1 One

Quando você utiliza qualquer programa de computador para desenvolver outros

programas, planilhas, textos, desenhos, sons, na verdade esses programas decodificam a

linguagem de alto nível, ou seja, aquilo que você entende para uma linguagem de baixo

nível: o código binário.

Um conjunto desses caracteres arrumados de forma lógica e interpretável pelo

computador forma um arquivo e este arquivo contém um tamanho expresso em Bytes

ou seus múltiplos. Assim chegamos a medida de capacidade de dados. Todo arquivo de

computador tem um tamanho que, na maioria das vezes é bem variado. Esse tamanho

influencia na hora de armazenar (gravar) esse arquivo em alguma unidade de gravação

permanente ou temporária. Vejamos a tabela de medida de capacidade:

8 bits 1 Byte

1024 Bytes 1 KByte

1024 KByte 1 MByte

1024 MByte 1 GByte

1024 GByte 1 TByte

1024 TByte 1 PByte

Por exemplo: um disquete de 1.44 MByte pode conter um arquivo de computador de

aproximadamente 1.440.000 (um milhão e quatrocentos e quarenta mil caracteres – que

são as representações da tabela ASCII). Entenderemos melhor mais adiante quando

tratarmos do armazenamento real nas mídias e memórias do computador. Notem que

coloquei a nomenclatura Byte com B maiúsculo para diferenciar de bit – b minúsculo a

menor porção do Byte.