Na natureza, todo tipo de informação pode assumir qualquer valor compreendido em um intervalo de — ∞ a + ∞. Você consegue distinguir, por exemplo, uma cor vermelha que esteja um pouco mais clara de outro tom de vermelho. Consegue distinguir um som mais alto do que outro. Consegue perceber quanto um ambiente está mais claro do que outro. Todo esse tipo de informação é conhecido como informação analógica. A construção de circuitos eletrônicos teoricamente deveria seguir os mesmos moldes da natureza a fim de se tornar o mais real possível. No entanto, na hora da construção de circuitos eletrônicos para o processamento de informações, a utilização de informações analógicas tornou-se um grande problema. Para você ter uma idéia, imagine um determinado circuito eletrônico comunicando-se com outro a uma certa distância. Vamos dizer que os dois dispositivos permitam informações analógicas. Se um dispositivo enviar um determinado valor e, durante o percurso, houver um problema qualquer (em especial, interferências eletromagnéticas), tal informação chegará alterada. O grande problema, no entanto, estará no fato de que o dispositivo receptor não terá meios de verificar se a informação era verdadeira ou não. Como aceita qualquer valor, se, em vez de “70” , chegar o valor “71” , o dispositivo terá de aceitá-lo como verdadeiro. Dessa forma, nenhum dispositivo eletrônico conseguiria funcionar corretamente. Vamos usar o exemplo de uma música gravada em uma fita cassete comum. Após, digamos, cinco anos, a mesma música ficou com um som mais “abafado”, além de “chiados” e “estalos”; enfim, ruídos. Por quê? Como o gravador registrou a informação da música na fita cassete de maneira analógica, todo e qualquer ruído do meio irá interferir no resultado final, pois, na hora de reproduzir a música, o gravador simplesmente achou que os ruídos fizessem parte dela! Isso porque, como a informação foi gravada analogicamente, poderia assumir qualquer valor, inclusive o valor “ruído”. Dispositivos eletrônicos para o processamento de informações trabalham com um outro sistema numérico: o sistema binário. No sistema binário, ao contrário do sistema decimal, só há dois algarismos: “0” e “1” . No entanto, há uma grande vantagem: qualquer valor diferente desses será completamente desprezado pelo circuito eletrônico, gerando confiabilidade e funcionalidade. Como o sistema binário representa o estado de um dedo recolhido na mão (0) ou esticado (1), por vezes o chamamos de sistema digital. Cada algarismo binário (um “0” ou um “1” ) é chamado de bit (contração de binary digit). Vamos usar agora o exemplo da mesma música gravada em uma fita DAT (Digital Áudio Tape, que é uma fita cassete que grava informações de maneira digital e não analógica como as fitas cassetes convencionais) no mesmo dia em que a outra e vamos supor que aquela tivesse sofrido o mesmo tipo de influência do meio. Logo estaria, como a outra analógica, cheia de interferências em sua camada magnética, representada para nós sob forma de ruído. No entanto, há uma diferença: por ter sido gravada sob a forma de informações digitais, a música está codificada sob a forma de vários “0”s e “1”s. Logo, qualquer outro valor diferente de “0” ou “1” será simplesmente ignorado pelo gravador reprodutor! Principalmente o valor “ruído”! Por isso dizemos que sistemas digitais são mais confiáveis e mais puros. Outra vantagem do sistema digital sobre o analógico é que as informações são gravadas em forma de números. Por exemplo, em uma fita DAT ou em um CD , o que há gravado não são músicas ou sons, mas sim números. Com isso, há como usarmos mecanismos de correção de erros a fim de verificar a integridade dos dados, como explicaremos melhor no tópico Transmissão de Dados, mais adiante. Matematicamente, escrevemos um número em função da potência de sua base, mesmo que isso pareça transparente para nós, que estamos acostumados a trabalhar, no dia a dia, com a base decimal. Para um número decimal de quatro algarismos, por exemplo, cada algarismo tem os seguintes “pesos”:
10³
|
10²
|
10¹
|
10º
|
Por exemplo:
10: 1x101 + 0x100
|
100: 1x102 + 0x101 + 0x100
|
1.000: 1x103 + 0X102 + 0x101 + 0x100
|
123: 1x102 + 2x101 + 3x100
|
.345: 4x103 + 3x 102 + 4x101 + 5x100
|
Compreendendo esse “desmembramento” dos números em base decimal, é facílimo entender os números binários.Cada casa binária terá um “peso” individual, sempre relativo à potência de 2 — já que estamos trabalhando com a base 2. Para um número binário de oito algarismos (8 bits), cada algarismo tem os seguintes pesos:
27
|
26
|
25
|
24
|
23
|
22
|
21
|
20
|
Por exemplo:
0
|
0x20
|
1
|
1x20
|
110
|
1x22 + 1x21 + 0x20 (equivalendo a 6 em decimal)
|
10111
|
1x24 + 0x23 + 1x22 + 1x21 + 1x20 (equivalendo a 23 em decimal)
|
Conjuntos de algarismos binários (bits) formam palavras binárias que representarão números máximos bastante definidos — e relativamente pequenos. Obviamente, cada casa binária só poderá ser preenchida com dois algarismos (0 ou 1), enquanto cada casa decimal pode ser preenchida com dez algarismos (de 0 a 9). Vamos ao exemplo de um número hipotético de quatro casas decimais. Esse número poderá ter qualquer valor de 0000 a 9999, logo poderá assumir 10.000 valores diferentes — ou seja, poderá ter 10.000 variações (ou 104 variações) — isto é, o valor da base numérica (10) elevado ao número de casas numéricas (4). Comparativamente, um número hipotético também de quatro casas — porém, agora, binárias — poderá ter qualquer valor entre 0000 e 1111, ou seja, 24 variações, ou 16 valores diferentes. É fácil, portanto, observar que estaremos muito mais limitados utilizando a base binária do que a decimal, a que estamos tão acostumados.Palavras binárias recebem nomes especiais conforme a quantidade de bits utilizada pelas mesmas, representando uma variação de números bastante definida:
Nibble
|
4 bits (24 = 16 variações)
|
Byte:
|
8 bits (28 = 256 variações)
|
Word:
|
16 bits (216 = 65.536 variações)
|
Double Word
|
32 bits (232 = 4.294.967.296 variações)
|
Quad Word
|
64 bits (264 = 18.446.744.073.709.551.616 variações)
|
Como você deve ter observado, cada palavra destas está presa a um número predeterminado de bits, logo o número máximo que podemos expressar utilizando cada uma delas é limitado: com um nibble só podemos representar 16 números (24); com um byte, somente 256 (28); com uma word, somente 65.536 (216) ; e assim sucessivamente. Dessa forma, também temos números “inteiros” em binário, só que, como estamos trabalhando em base 2, e não emm base 10, esses números, parecem ser “quebrados” quando representados em decimal. Por exemplo, 8.192 é um número inteiro em binário, pois representa 213. Da mesma forma, 131.072 é considerado um número inteiro, pois representa 217. O sufixo K (kilo-), que, em decimal, representa 1.000 vezes (como em Km e Kg), em
binário representa 210 vezes (1.024). Logo, 1 Kbyte representa 1.024 bytes, 2 Kbytes representam 2.048 bytes e assim sucessivamente. Do mesmo modo, o sufixo M (mega-) representa 220 vezes (1.048.576) e o sufixo G (giga-) representa 230 vezes (1.073.741.824), diferenciando-se completamente da representação decimal.
Sufixo
|
Quantidade
|
Kilo (K) 210
|
1.024
|
Mega (M) 220
|
1.048.576
|
Giga (G) 230
|
1.073.741.824
|
Tera (T) 240
|
1.099.511.627.776
|
Peta (P) 250
|
1.125.899.906.843.624
|
Exa (E) 260
|
1.152.921.504.607.870.976
|
Zeta (Z) 270
|
1.180.591.620.718.458.879.424
|
Yotta (Y) 280
|
1.208.925.819.615.701.892.530.176
|
Atenção: Devemos ter muito cuidado para não cometermos falsos arredondamentos. 65.536, por exemplo, representa, em binário, 64 K (e não 65 K, como parece), assim como 157.286.400 representa 150 M (e não 157 M ). Tome muito cuidado!
Base Hexadecimal
Desde o surgimento dos primeiros microprocessadores, as palavras binárias de dados manipuladas eram múltiplas do nibble. Sendo assim, uma outra base numérica passou a ser amplamente utilizada — a base 16 (hexadecimal) —, uma vez que o maior valor numérico que poderia ser atribuído a um nibble era 16. Dessa forma, temos:
Valor decimal
|
Valor Binário
|
Valor Hexadecimal
|
0
|
000
|
0
|
1
|
0001
|
1
|
2
|
0010
|
2
|
3
|
0011
|
3
|
4
|
0100
|
4
|
5
|
0101
|
5
|
6
|
0110
|
6
|
7
|
0111
|
7
|
8
|
1000
|
8
|
9
|
1001
|
9
|
10
|
1010
|
A
|
11
|
1011
|
B
|
12
|
1100
|
C
|
13
|
1101
|
D
|
14
|
1110
|
E
|
15
|
1111
|
F
|
Como você pôde observar, cada algarismo hexadecimal estará sempre representando 4 bits. Assim, F12AC é um número de 20 bits, como 129D3E12 é um número de 32 bits. A adoção da base hexadecimal para representação de números que, na verdade, estavam sendo manipulados em binários, foi quase imediata, uma vez que é muito mais fácil para o programador trabalhar com números em hexadecimal do que em binário. Imagine escrever uma soma de dois números de 32 bits! Haja tanto 0 e tanto 1! Ora, é muito mais fácil e cômodo escrever 123A do que 0001001000111010! Assim, a possibilidade de erros por parte do operador diminui bastante.Em hexadecimal, cada número de 32 bits tem somente oito algarismos, tornando o trabalho de representação muito mais fácil e, sem dúvida alguma, seguro. Trabalhando com números binários, pessoas facilmente acabam por trocar um “0” por um “1” em algum momento.Começamos a ter um grande problema. Se você visse “10” estampado em algum lugar, que valor você atribuiria a ele? Dependeria da base em que o mesmo está representado. No nosso caso, teríamos de saber se esse número está em decimal, binário ou hexadecimal, pois os valores absolutos em decimal seriam 10, 2 e 16, respectivamente. Dessa forma, precisaremos ter algum indicador de base numérica. Em informática, o mais comum é usar o símbolo “$” (dólar) ou a letra “b” para números em binário, por exemplo, $1011 ou 101”b, e a letra “h” para números em hexadecimal, por exemplo, 12h. Assim, 10 vale $1010 ou Ah. O byte é a palavra binária mais utilizada, por diversos motivos. O principal deles é o fato de que os microprocessadores se tornaram populares e passaram a ser usados em larga escala quando surgiram os modelos de oito bits, nos anos 70, sendo que esses modelos de processadores foram largamente utilizados nas mais diversas aplicações por mais de 10 anos. Devemos tomar alguns pequenos cuidados na hora de representar a abreviação de byte, a fim de que não haja confusão com a abreviação de bit. Enquanto abreviamos bit com “b” (b minúsculo), abreviamos byte com “B” (b maiúsculo). Assim, 1 KB é a representação de um kilobyte (1.024 bytes = 8.192 bits), enquanto 1 Kb é a representação de um kilobit (1.024 bits).
Fonte: Hardware Curso Completo 4ª Edição
Comentários
Mas estou postando mesmo só para elogiar este post, já marquei teu blog nos favoritos e assim que eu tiver uns minutos livres venho dar um olhada melhor, achei bem interessante...
Até mais e tenha um bom final de semana!!!!!
Maicon*
Obrigado(a)Mandem um e-mail pra mim
suzany_dnds@hotmail.com
Beijos e tenha um bom dia!!
Valeu.....
Me ajudou e muito..
vcs mandaram muito bem.
valeu!