Representação e Manipulação da Informação


Introdução

Índice

Analógico Vs. Digital

A forma de representar e manipular informação está directamente relacionada com a entidade ou aparelho que o faz. Por exemplo, uma entidade biológica representa a sua informação genética através de cromossomas, que se resumem a cadeias complexas de elementos químicos. Por outro lado, uma máquina de lavar, por exemplo, representa o seu programa de lavagens por circuitos eléctricos e/ou mecanismos mecânicos. Outro tipo de aparelho vulgarmente designado por computadores caracteriza-se pelo seu funcionamento baseado em princípios lógicos e matemáticos e que vulgarmente se enuncia como sendo computadores digitais. Importa portanto distinguir dois termos Digital, e o seu oposto, Analógico.

Digital: Um sinal digital tem como característica fundamental a sua variação por saltos numa forma descontínua e tomar apenas determinado número de valores. A sua evolução no tempo consiste em saltar bruscamente duns valores para outros (Figura 1a);
Analógico: Pelo contrário, a característica essencial dum sinal analógico ou da forma de onda analógica é a sua variação contínua ao longo do tempo (Figura 1b).  É o que acontece no sinal de vídeo, microfone, etc. em que o sinal evolui duma forma contínua, por vezes com variações rápidas mas "sem saltos bruscos".

Figura 1a - Sinal digital

Figura 1b - Sinal analógico

Introdução

Digital binário

Saliente-se o facto do sinal digital ser representado através dum determinado número de valores, porventura limitado.
Uma vez que os computadores digitais comuns usam dois valores ou níveis de tensão, a sua denominação correcta é computadores digitais binários.

A tensão desses dois níveis varia de computador para computador ou aparelho, mas em computadores e em particular no CPU, são tipicamente de 0 e 5V, 0 e 3V. Há várias razões para a utilização destes tipos de computadores, sobretudo razões tecnológicas relacionadas com os componentes electrónicos usados na sua implementação (resistências e transístores):

Figura 2a - Sinal digital binário real

Figura 2b - Sinal digital binário conceptual

Introdução

Representação da informação

Assim, qualquer que seja o valor representado por computadores digitais binários, este é representado por uma sequência de sinais digitais binários, ou seja através de apenas dois valores diferentes. Sob um ponto de vista de formalização e por uma atitude prática, a estes dois valores são atribuídos significados opostos tal como cheio/vazio, existente/inexistente, ligado/desligado, verdadeiro/falso, 0/1.

Mas como poderá ser representada informação tão complexa como texto, imagens, cor, som, etc. numa forma tão simples? Usando o mesmo princípio que se usa por exemplo numa linguagem moderna, agrupando símbolos básicos como as letras e símbolos dum alfabeto. Por exemplo o alfabeto português dispõe tradicionalmente de 24/26 letras mais uns tantos símbolos como acentos e pontuação. No entanto, usando estes símbolos e regras de manipulação (gramática) é possível escrever textos tão complexos como os Lusíadas (ou imagine-se, este texto...).O mesmo se passa com a matemática ou a álgebra, que tem alfabeto e simbologia própria mas que usa um conjunto de símbolos básicos e muito limitado.

Usando apenas dois valores distintos, o princípio terá de ser forçosamente o mesmo, ou seja, combiná-los em sequências representativas de dados e informação usando regras da linguagem ou da área de aplicação. Para isso é necessário:

Regras de utilização

Existem muitíssimas regras de utilização do sinal, no entanto, a divisão da sequência de sinais binários é porventura a que mais importância apresenta.
Desde "sempre" que o Byte é a unidade de agregação (e separação) de dígitos binários (binary digit - bit). Um byte é a agregação de 8 bits. Aparentemente não há nenhuma (fundamental) razão para ser oito (porque é que se contam ovos às dúzias), mas a verdade é que desde há muito tempo que grande parte das quantificações de informação em informática são feitas em número de bytes.

Uma outra forma de denominar grupos de 8 bits é octeto (em francês é a denominação corrente, mas existe noutros idiomas incluindo o inglês). Para além disso, não se conhece claramente a origem do termo byte, embora se considere que foi o Dr. Werner Buchholz, gestor de projecto da IBM, que o tenha usado pela primeira vez em 1956.  Talvez à escolha não seja alheio o aspecto da figura que se costuma usar para representar (Figura 3) um byte (mordida).

Figura 3 - Representação das posições dos dígitos dum byte

O termo bit é abreviado por b, enquanto byte é abreviado por B. A quantificação em termos de bits é geralmente usada em comunicações série (bit a bit), enquanto byte se utiliza fundamentalmente em quantidades de informação armazenada mas também em comunicações paralelas (conjunto de bits em simultâneo).
Apresentam-se de seguida algumas unidades utilizadas para quantificar grupos de informação binária, o que significa que tanto pode ser utilizada para bits como bytes.

Name  abbrev  Size  
----  ------  ---- 
Kilo    K     2^10 = 1 024         
Mega    M     2^20 = 1 048 576
Giga    G     2^30 = 1 073 741 824
Tera    T     2^40 = 1 099 511 627 776
Peta    P     2^50 = 1 125 899 906 842 624
Exa     E     2^60 = 1 152 921 504 606 846 976
Zetta   Z     2^70 = 1 180 591 620 717 411 303 424
Yotta   Y     2^80 = 1 208 925 819 614 629 174 706 176

Caracterização de símbolos

A ANSI (American National Standard Institute) desenvolveu o ASCII (American Standard Code for Information Interchange) e que corresponde (sucintamente) a uma tabela que relaciona símbolos com números.
Originalmente esta tabela relacionava 127 (27) símbolos e códigos, mas posteriormente passou a relacionar 256 (28) símbolos. Esta alteração está relacionada com o conceito e extensão de Byte, pois se o CPU tinha capacidade múltipla de Byte, porque "perder" um bit em cada símbolo que se trasaccionasse? Foram então criadas extensões à tabela original, sendo que estas são normalmente utilizadas para caracteres específicos da linguagens de cada país, nomeadamente letras com acentos e outros símbolos específicos.

IntroduçãoÍndice


Bases numéricas

Índice

Introdução

Como já se referiu, qualquer que seja o valor representado em computadores, este é representado por uma sequência de sinais digitais binários. Portanto, cada sinal de uma sequência, poderá no máximo representar dois valores.

Exemplos:

    VFFFVVVFFVVVVVVFF
    10001110011111100

Se adaptarmos este tipo de representação à descrição de valores numéricos, então, para cada dígito (sinal na sequência) temos apenas dois valores possíveis: 0 ou 1. Se desejarmos representar números superiores a 1 temos que utilizar o mesmo procedimento que utilizamos por exemplo na base decimal, que é a base em que cada dígito pode ter 10 valores diferentes (0-9).
A representação dos números, analisada sob o ponto de vista do incremento de uma unidade ao número anterior, segue o princípio de que assim que determinado dígito atinge o seu valor máximo, adiciona-se uma unidade ao dígito seguinte e o próprio dígito volta a zero. O procedimento é o mesmo seja qual for a base numérica.

Apesar do procedimento ser o mesmo para qualquer base, aquelas que mais se usam são:

Base Decimal (10) Base Binária (2) Base Octal (8) Base Hexadecimal (16)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.
.
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
.
.
0
1
2
3
4
5
6
 7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
27
30
31
32
33
34
.
.
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
.
.

Tabela 1 - Relação entre as quatro base numéricas mais utilizadas

Seja qual for a base numérica, cada dígito representa um valor absoluto. Por exemplo, os mesmos dígitos têm valores diferentes consoante a base em que o número é representado:

Decimal

Binário

Octal

Hexadecimal

101(10)
= 1*100+1*101+1*102
= 1 + 0 + 100
= 101(10)
101(2)
= 1*20+0*21+1*22
= 1 + 0 + 4
= 5(10)
101(8)
= 1*80+0*81+1*82
= 1 + 0 + 64
= 65(10)
101(16)
= 1*160+0*161+1*162
= 1 + 0 + 256
= 257(10)

Ou seja, cada dígito representa em absoluto, o seu valor multiplicado pelo peso da posição que ocupa no número. Na base decimal, o primeiro dígito é o das unidades (100), o segundo representa as dezenas (101), o terceiro representa as centenas (102), etc. Na base decimal, o princípio é o mesmo, excepto que os valores representados por cada dígito são calculados através de potências de 2, pois o número de valores possíveis num dígito é 2. O valor máximo representado no primeiro dígito é 20, no segundo 21, no terceiro 23, etc..

Números negativos

A representação de números negativos coloca problemas em sistemas informáticos, pois os os valores possíveis de representar são binários, o que implica que o sinal "-" não esteja incluído. Daí ser necessário definir regras de representação.

A solução está em atribuir a um dos dígitos do número, informação acerca do sinal. Ou seja, definir um "bit de sinal". Se tal dígito estiver a 0 (zero) o valor será positivo, se estiver a 1 o valor será negativo. Por norma, o bit de sinal é o bit mais significativo do número. Esta representação denomina-se complemento para 1.

Exemplos:

    Número positivo: 001100
    Número negativo: 1001100

No entanto isto levanta um questão interessante: e o zero, também pode ser negativo? Se considerarmos que o número é representado pelo computador usando 4 bits, teríamos:

7
6
5
4
3
2
1
0
-0
-1
-2
-3
-4
-5
-6
-7
0111
0110
0101
0100
0011
0010
0001
0000
1000
1001
1010
1011
1100
1101
1110
1111

Portanto, para além de ser incorrecto representar-se o valor -0, existe uma combinação de dígitos que poderia ser usada para um outro valor válido.

A solução está em usar a representação em complemento para 2. O complemento para 2 dum número encontra-se usando o seguinte algoritmo:

Exemplo:
5 = 0101 -complemento-> 1010
                         + 1
                        -----
                              1011 = -5

Assim a representação em complemento para 2, e que é a representação corrente em informática, será:

7
6
5
4
3
2
1
0
-1
-2
-3
-4
-5
-6
-7
-8
0111
0110
0101
0100
0011
0010
0001
0000
1111
1110
1101
1100
1011
1010
1001
1000

Ou seja, existe mais um valor negativo que anteriormente, e que substitui o -0.
Aplica-se o mesmo procedimento quer se trate de 4, 8, 16, 32 ou outro qualquer número de bits.

Introdução

Conversão

Conversão aritmética de números significa a tradução da representação de determinado número duma determinada notação para outra, sem que o valor real do valor se altere.
No sentido de se identificar os procedimentos de conversão entre bases, analisa-se de seguida os procedimentos considerando a base decimal como destino e origem dos números.

Assim, identificam-se dois tipos de procedimentos:

procedimento_conversao.gif (3518 bytes)

Figura 4 - Conversão de e para base decimal

De outra base para base decimal

A conversão de um número de uma outra base para base decimal, utiliza-se a ponderação dos pesos dos dígitos do número.

Exemplos:
	101(2) = 1*20+0*21+1*22 = 1*1+0*2+1*4 = 6(10)
	34F7(16) = 7*160+F*161+4*162+3*163 = 7*1+15*16+4*256+3*4096 = 13559(10)

De base decimal para outra base

Qualquer valor pode ser convertido para outra base através de divisões sucessivas pelo número representativo da base para a qual se deseja converter. O número convertido encontra-se pelo agrupamento dos dígitos do resto. Este procedimento corresponde à separação das várias parcelas componentes do número (cada dígito representa determinado valor absoluto).

Exemplos:
divisao10-10.gif (1671 bytes)

 

 

O valor 123(10) corresponde na base decimal a 123(10).

divisao10-2.gif (2566 bytes)

O valor 123(10) é representado na base binária por: 1111011(2).

divisao10-16.gif (1745 bytes)

 

O valor 123(10) é representado na base hexadecimal por: 7B(16).

No entanto...

Este procedimento parte do pressuposto e do conhecimento da tabuada da base do número a converter. Ou seja, se o número estiver numa base X, processo terá de utilizar a tabuada da base X, o que convenhamos é complicado pois a tabuada que se aprende (e decora) é a tabuada na base decimal.

Exemplos:

divisao8-2.gif (2560 bytes)

O valor 123(8) é representado na base binária por: 1010011(2)

divisao2-10.gif (1827 bytes)

 

 

O valor 1101(2) é representado na base decimal por: 13(10)

	273(8) = 3*80+7*81+2*82 = 3*1+7*8+2*40 = 3+38+80 = BB(16)
	1101(2) = 1*20+0*21+1*22+1*23 = 1*1+0*2+1*4+1*10 = 1+0+4+10 = 15(8)

Portanto...

Não é prático converter um número duma base que não a decimal, para outra base. No entanto observa-se que:

Existem determinadas bases numéricas, que tem a particularidade do seu dígito mais elevado usar um número fixo de dígitos binários completamente ocupados, ou seja, todos a 1. Por exemplo, 3(4) = 11(2), 7(8) = 111(2), ou F(16)=1111(2).

Assim, uma cadeia de dígitos binários pode ser subdividida em grupos de dígitos. A partir daí bastará fazer corresponder a cada grupo de dígitos binários o dígito na base específica. Assim, conhecendo apenas um conjunto limitado (e simples) de relações entre números em diferentes bases (ver Tabela 1), é fácil e imediato fazer conversões.

Exemplos:

Binário - Octal

Binário - Hexadecimal

111 110 100 100 110(2) =
7 6 4 4 6(8)

Conversão entre base binária e octal por agrupamento 3 a 3 de dígitos binários.

111 1101 0010 0110(2) =
7  D  2 6(16)

Conversão entre base binária e octal por agrupamento 4 a 4 de dígitos binários.

Usando os resultados das conversões de binário para octal ou hexadecimal, também o procedimento de conversão de binário para decimal se torna menos exaustivo, uma vez que se pode usar o valor em octal ou hexadecimal para a conversão.

Exemplos completos:
  1. Converter o número 101111011(2) para base hexadecimal, octal e decimal.
Binário - Octal Binário - Hexadecimal Binário - Decimal
101 111 011(2) =
5  7  3(8)
1 0111 1011(2) =
1  7  B(16)
101111011(2) =
573(8)=
3*80+7*81+5*82 = 379(10)
  1. Converter o número 761(8) para base binária, hexadecimal e decimal.

Octal - Binário Octal - Hexadecimal Octal - Decimal
7  6  1(8) =
111 110 001(2)
761(8) =
1 1111 0001(2)
1  F  1(16)
761(8) =
1*80+6*81+7*82 = 497(10)

Introdução

Aritmética

As operações aritméticas, seguem os mesmos procedimentos seja qual for a base numérica em questão. No entanto analisa-se de seguida os procedimentos aplicados nas operações:

Adição

Nota: Os valores a vermelho por cima dos operadores, representa o "que vai" ou em terminologia informática o "carry".

Decimal Binária Octal Hexadecimal
1
  9
+ 1
-----
 10
1
  1
+ 1
-----
 10
1
  7
+ 1
-----
 10
1
  F
+ 1
-----
 10
11 
 1292
+ 873
------
 2165
   111 
    101
+ 10111
--------
  11100
11
  67
+ 32
-----
 121
  1
 4F12
 + 9F
-----
 4FB1

Subtracção

Decimal Binária Octal Hexadecimal
1
 12
- 5
-----
 07
1
 10
- 1
-----
 01
 1 
 12
- 5
-----
 05
1
 1B
- C
-----
 0F
 1
   5
- 12
-----
- 07
11
   110
- 1001
--------
- 0011
 11
   56
- 302
------
- 224
 1
   4F2
- DA9F
-------
- D5AD

Multiplicação e Divisão

Os procedimentos relativos à operação de multiplicação são os mesmo qualquer que seja a base numérica, mas como já havia sido referido, a tabuada que se conhece é a tabuada decimal, pelo que não é simples realizar as operações de multiplicação e divisão.

Decimal Binária Octal Hexadecimal
1
 12
* 5
-----
 60
  10
*  1
-----
  10
 1 
 12
- 5
-----
 62
2
 1B
- 3
-----
 51

O mesmo princípio se aplica para a operação divisão, uma vez que o algoritmo se baseia na tabuada.

IntroduçãoÍndice


Álgebra de Boole

A álgebra de Boole deve o seu nome ao matemático inglês George Boole (1815-64), pela sua contribuição para a lógica simbólica. Boole defendeu que a lógica deveria ser aliada à matemática e não à filosofia, como até então era habitual.

Boole desenvolveu várias regras e propriedades da lógica simbólica como a propriedade associativa, propriedade distributiva, propriedade associativa. No entanto, analisaremos apenas:

Índice

Operações booleanas

Operações booleanas são operações realizadas sobre valores (operandos) binários. Ou seja, operandos que tomam apenas dois valores mutuamente complementares, por exemplo Verdadeiro/Falso, 0/1, Existente/Inexistente.

Existem 4 operações lógicas binárias simples através das quais se constróem sistemas lógicos complexos:

E (And)

A operação booleana Ou (Or) é representada pelos símbolos , . e * e em terminologia informática pelo operador and.
Tem 2 operandos e caracteriza-se pelas seguintes relações:

a b and

0

0

0

0

1

0

1

0

0

1

1

1

Só se as duas condições (preposições) a e b forem simultaneamente 1 (verdadeiras) é que o resultado é 1 (verdadeiro).

Observações:

Ou (Or)

A operação booleana Ou (Or) é representada pelos símbolos e + e em terminologia informática pelo operador or.
Tem 2 operandos e caracteriza-se pelas seguintes relações:

a b or

0

0

0

0

1

1

1

0

1

1

1

1

Basta que uma das (preposições) a ou b seja 1 (verdadeira) para que o resultado seja 1 (verdadeiro).

Observações:

Ou exclusivo (Xor)

A operação booleana XOu (XOr) é representada pelos símbolos e e em terminologia informática pelo operador xor.
Tem 2 operandos e caracteriza-se pelas seguintes relações:

a b xor

0

0

0

0

1

1

1

0

1

1

1

0

O resultado é 1 (verdadeiro) se apenas uma das preposições a ou b for 1 (verdadeira).

Observações:

Complemento (Not)

A operação booleana Complemento (Not) é representada pelos símbolos - (coloca-se antes do operando) e (coloca-se sobre o operando), e em terminologia informática pelo operador not.
Tem 1 operando e caracteriza-se pelas seguintes relações:

a not

0

1

1

0

O resultado é o complemento do valor do operando.

Observações:

Introdução

Aplicações

Existem várias aplicações para lógica binária, mas provavelmente a que mais se utiliza está relacionada com a representação de informação binária. Isto é, informação que apenas tem dois estados.
Por exemplo, uma janela em Windows caracteriza-se tipicamente por ter ou não determinados elementos:

Existirá porventura um estrutura interna do Windows que terá esta informação. Será razoável que para cada um destes elementos se use um Byte (char)? Um byte tem 8 bits e cada um pode representar os (tais) dois estados que são necessários. Ou seja, posso representar 8 elementos com um só byte. Por isso, usar um byte para representar apenas um valor binário é um desperdício de espaço.

Assim, o que se faz é usar estruturas (numéricas) como o byte, o char ou int, e a cada bit é atribuído um significado.

    Scroll bar States Buttons Menu Frame Title

Figura 7 - Um byte representando várias valores binários

Estas estruturas serão daqui em diante tratadas como conjunto de estados binários.
No entanto não é comum as linguagens de programação terem instruções de teste a bits específicos, e mesmo que os tenham, como é que tal é internamente executado?
Para isso usa-se o conceito de máscara. Uma máscara é composta por:

Imagine-se que o objectivo é saber se determinada janela tem barra de estados. Sabe-se de antemão que a informação sobre esse elemento está no bit 5 (conta-se a partir do 0). Assim, o que se tem a fazer é encontrar um filtro e um operador que em combinação criem apenas dois resultados possíveis. Ou seja, com o bit 5 a 1 ou a 0 e todos outros iguais (seja 1 ou 0).

Exemplo 1:
Usando a operação booleana or e o seu elemento absorvente, o 1:
Valor dos elementos:               ? ? ? ? ? ? ? ?
Máscara (Filtro + Operador):    or 1 1 0 1 1 1 1 1
                               --------------------
Resultado:                         1 1 ? 1 1 1 1 1

Os resultados possíveis são:

Exemplo 2:
Usando a operação booleana and e o seu elemento absorvente, o 0:
Valor dos elementos:               ? ? ? ? ? ? ? ?
Máscara (Filtro + Operador):    or 0 0 1 0 0 0 0 0
                               --------------------
Resultado:                         0 0 ? 0 0 0 0 0

Os resultados possíveis são:

Para o caso "da scroll bar", e se se usasse a rotina de máscara descrita no exemplo1, a rotina de teste deveria ser semelhante ao seguinte código (em C): 

#define(EXIST_SCROLL_BAR,255);
char elements, mask_result;
elements=what_elements();
mask_result=mask_or(A);
if (mask_result==EXIST_SCROLL_BAR)
    printf("Tem scroll bar.");
else
    printf("Não tem scroll bar.");

IntroduçãoÍndice


Outras operações

Existem em informática duas operações sobre valores numéricos que merecem ser apresentadas, mas que não encaixam completamente no conceito de aritmética embora permitam realizar determinadas operações aritméticas, mas também não são operações booleanas, embora permitam realizar algumas tarefas sobre bits semelhantes a máscaras. Estas duas operações são:

Índice

Deslocamento

Existem várias variantes desta operação, pelo que se apresenta a mais genérica.
Deslocamento, em inglês e terminologia informática, Shift, faz deslocar todos os bits duma estrutura para a direita ou para a esquerda, conforme seja uma Deslocação para a direita ou para a esquerda. Se se deslocam, o bit que está na extremidade (direita ou esquerda conforme o movimento) é expulso, enquanto que do lado oposto tem de entrar um valor, normalmente 0 (zero).

Figura 8 - Representação de deslocamento para a esquerda

As aplicações lógicas e teste de bits são possíveis pois o número é expulso para um local que, por norma se denomina Carry Flag (CF) e que, este sim, pode ser testado com uma instrução semelhante a:

	if (CF==1)
		goto lineX;
	else
		goto lineY;

Assim, é possível com deslocamentos sucessivos testar qualquer um dos bits. No entanto, como o valor do bit é expulso, não é possível através da operação em sentido contrário repor o valor anterior, pelo que o valor (se não for guardado previamente) é perdido.

Quanto a aplicações aritméticas, estas resumem-se à aplicação de princípios óbvios. Observe-se.
Quando se deseja multiplicar um número decimal por 10, 100, 1000, enfim potências de 10, não é necessário recorrer ao algoritmo comum para outros valores. O que se faz é simplesmente acrescentar um 0 (zero) à direita do número. Ou seja, fazer um deslocamento para a esquerda.

O mesmo procedimento pode ser aplicado em número binários, sendo que a multiplicação não é por potências de 10 mas sim por potências de 2. Assim, um deslocamento de 4 posições corresponde a fazer uma multiplicação de 24=16.
Deslocamentos para a direita têm o efeito contrário, ou seja divisão.
Estas formas de multiplicar e dividir têm a vantagem de ser substancialmente mais rápidas que a multiplicação e divisão tradicionais, o que acontece também em computador (mais correctamente no CPU). 

Introdução

Rotação

Existem várias variantes desta operação, pelo que se apresenta a mais genérica.
Rotação, em inglês e terminologia informática, Rotate, faz rodar todos os bits duma estrutura para a direita ou para a esquerda, conforme seja uma Rotação para a direita ou para a esquerda. Se rodam, o bit que está na extremidade (direita ou esquerda conforme o movimento) é expulso, mas entra na extremidade oposta.

Figura 9 - Representação de rotação para a esquerda

Normalmente o número é expulso para um local que se denomina CF (Carry Flag) e que, este sim pode ser testado com uma instrução semelhante a:

	if (CF==1)
		goto lineX;
	else
		goto lineY;

Assim, é possível com rotações sucessivas testar qualquer um dos bits, sem que o problema descrito para o deslocamento ocorra, pois os bits são simultaneamente expulsos e integrados na estrutura na outra extremidade. A rotação em sentido contrário e no mesmo número de vezes da anterior repõe o valor original.

IntroduçãoÍndice


Termos e Expressões

Bit menos/mais significativo O adjectivo "significativo" respeita ao valor que o dígito representa (ou bit) no número, ou seja o peso do dígito. Na base decimal, cada dígito tem um nome: unidades, dezenas, centenas, milhares, etc. O dígito menos significativo dum número decimal inteiro é as unidades.
Assim, a "significância" dos dígitos (ou bit) no número aumenta da direita para esquerda. O bit menos significativo é à direita, enquanto o mais significativo é o que está mais à esquerda.
MSB/LSB (Most/Less Significatif Bit) ver bit menos/mais significativo
Nibble Grupo de quatro bits. Num byte existe o nibble mais e menos significativo, seguindo o princípio de bit menos/mais significativo

Índice


Sumário

É objectivo deste estudo:

Índice


Última actualização: 02 Maio 2005