Professional Documents
Culture Documents
AULA 10 REPRESENTAO NUMRICA O conceito de bit binary digit bit Um bit representa a menor parte de uma informao, que pode ser armazenada na memria do computador. Um bit pode assumir apenas um dos dois seguintes valores: 1 (um) ligado 0 (zero) desligado Portanto, a menor unidade fsica da memria, guarda um bit 1 ou um bit 0.
A memria do computador armazena os bits em seqncias ou cadeias. Conforme e a tecnologia usada no computador e sua capacidade, os bits podem ser organizados em grupos de 8, 16, 32 ou 64. Cada um desses grupos recebe o nome de palavra ou word.
Palavra e Byte Byte o nome tcnico dado a um conjunto ou seqncia de 8 bits. Cada byte o espao de memria necessrio para armazenar um caracter (letra, algarismo ou smbolo). Portanto, cada palavra ou word formada por um grupo de 2, 4, 6 ou at 8 bytes.
Para que serve o Byte Para representar, na memria do computador, os smbolos de nossa linguagem. Com 8 bits (= 1 byte) podemos representar cerca de 256 (= 28 smbolos) diferentes, pois estaramos combinando 8 casas, nas quais podem conter um 0 ou um 1 Exemplos: 00101001 poderia ser a representao de A, 00101010 poderia ser B, e assim por diante.
10a AULA
FISP
110 Computao para Engenharia
1 MB = 1.048.576 bytes (= 220 bytes) 1 GB = 1.073.741.824 (= 230 bytes) 240 bytes 250 bytes
Representao de Caracteres Alfanumricos Usa-se um byte para representar um caracter, algarismo ou smbolo especial. Os cdigos mais usados so o ASCII e o EBCDIC. Ambos os cdigos usam uma seqncia diferente de 8 bits para representar cada caracter.
Os Sistemas de Numerao
Sistema Decimal Utiliza 10 algarismos combinados, com ou sem repetio. 0,1,2,3,4,5,6,7,8 e 9. Exemplos: (243)10 , (1279)10 , (49875)10 , (6838380)10 (243)10 leia-se: (dois, quatro, trs na base decimal) ou (duzentos, quarenta e trs) simplesmente.
Sistema Binrio Utiliza apenas dois algarismos: 0 e 1. Exemplos: (101)2 , (11101010)2 , (1110111)2 (101)2 leia-se: (um, zero, um na base binria) E no (cento e um), pois somente pode ser dita na base decimal.
Sistema Octal Utiliza 8 algarismos combinados, com ou sem repetio. 0,1,2,3,4,5,6 e 7. Exemplos: (243)8 , (1270)8 , (40175)8 , (62330)8 (243)8 leia-se: (dois, quatro, trs na base octal) E no (duzentos, quarenta e trs), pois somente pode ser dita na base decimal.
10a AULA
FISP
110 Computao para Engenharia
Sistema Hexadecimal Utiliza 16 algarismos: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E e F. Exemplos: (23A)16 , (C0E4)16, (2569)16, (E32B)16 (23A)16 leia-se: (dois, trs, a na base hexadecimal) E no (vinte e trs a).
Aritmtica de nmeros binrios Adio _ Regras bsicas: 0 + 0 = 0 0+1=1 1+0=1 1 + 1 = 0 e vai 1 portanto ser igual 10 (leia-se um zero) _ Exemplo:
1 1 1 1 1 1
vai um
1 1 1 0 0 1 1 + 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1
10
Empresta um
1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1
Multiplicao _ Regras bsicas: 0 x 0 = 0 1x0=0 0x1=0 1x1=1 _ Exemplo:
10a AULA
FISP
110 Computao para Engenharia
1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1
Diviso _ Regras bsicas: 0 1 = 0 11=1 _ Exemplo: 1 1 0 1 -1 0 1 0 0 1 1 -1 0 0 1 Converso de base
1 1 x 0 1 1 1 + 1 1
0 1 1 0 1 1 0 1 0 0 1 1 resto
resultado
1 algarismo octal a representao de um conjunto 3 bits binrio (3 bits) 000 001 010 011 100 101 110 111 octal 0 1 2 3 4 5 6 7 Equivalente em decimal 0 1 2 3 4 5 6 7
10a AULA
FISP
110 Computao para Engenharia
binrio (4 bits) 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F
Equivalente em decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Converses entre Sistemas de Numerao Converso Decimal Binrio Exemplo: Converter 6710 para binrio.
67 1
2 33 1
2 16 0
2 8 0
1000011
2 4 0
2 2 0
2 1 1
2 0
Resultado: (1000011)2
O nmero binrio correspondente a seqncia de algarismos presentes nos restos das divises.
10a AULA
FISP
110 Computao para Engenharia
67 3
8 8 0
8 1 1 103
8 0
Resultado: (103)8
O nmero octal correspondente a seqncia de algarismos presentes nos restos das divises. Converso Decimal Hexadecimal Exemplo: Converter 6710 para hexadecimal.
67 3
16 4 4 43
16 0
Resultado: (43)16
O nmero hexadecimal correspondente a seqncia de algarismos presentes nos restos das divises. Converso Binrio Decimal Exemplo: Converter (1000011)2 para decimal
1 0 0 0 0 1 1 1 x 20 = 1 x 21 = 1 2 +
1 x 26 = 64 6710
10a AULA
FISP
110 Computao para Engenharia
1 0 3 3 x 80 = 0 x 81 = 3 0 +
1 x 82 = 64 6710
Converso Hexadecimal Decimal Exemplo: Converter (43)16 para decimal
4 3 3 x 160 = 4 x 161 =
Converso Binrio Hexadecimal Exemplo: Converter (1000011)2 para hexadecimal Usar tabela de Converso de base
3 64 + 6710
1 0 0 0 0 1 1
3 RESULTADO: 4316
10a AULA
FISP
110 Computao para Engenharia
Converso Hexadecimal Binrio Exemplo: Converter (43)16 para binrio Usar tabela de Converso de base
0100
0011
RESULTADO: 10000112
Converso Binrio Octal Exemplo: Converter (1000011)2 para octal Usar tabela de Converso de base
1 0 0 0 0 1 1
RESULTADO: 1038 1 0 3
Converso Octal Binrio Exemplo: Converter (103)8 para binrio Usar tabela de Converso de base
001
000
011
RESULTADO: 10000112
10a AULA
FISP
110 Computao para Engenharia
Converso Hexadecimal Octal Exemplo: Converter (43)16 para octal Usar tabela de Converso de base
0100
0011
0100 0011 1 0 3
RESULTADO: 1038
Converso Octal Hexadecimal Exemplo: Converter (103)8 para hexadecimal Usar tabela Converso de base
001
000
011
10a AULA
FISP
110 Computao para Engenharia
OUTPUT
hexadecimal --> decimal 16 hexadecimal --> hexadecimal 10 hexadecimal --> octal 20 octal --> decimal 78 octal --> hexadecimal 4E octal --> octal 116 misto --> decimal 506 misto --> hexadecimal 1FA misto --> octal 772 Pressione qualquer tecla para continuar. . .
10a AULA
FISP
110 Computao para Engenharia
#include<stdio.h> #include<stdlib.h> #include<math.h> int nd,nb,no,nh; int main() { printf("\nDigite um numero inteiro decimal positivo:"); scanf("%d",&nd); printf("\n decimal=%d | octal=%o | hexadecimal=%X \n ",nd,nd,nd); printf("\nDigite um numero inteiro octal positivo:"); scanf("%o",&no); printf("\n decimal=%d | octal=%o | hexadecimal=%X \n ",no,no,no); printf("\nDigite um numero inteiro hexadecimal positivo:"); scanf("%x",&nh); printf("\n decimal=%d | octal=%o | hexadecimal=%X \n ",nh,nh,nh); printf("\nResultado da soma de:"); printf("\n numero inteiro decimal positivo %d",nd); printf("\n numero inteiro octal positivo %o",no); printf("\n numero inteiro hexadecimal positivo %X",nh); printf("\n decimal=%d | octal=%o | hexadecimal=%X ",nd+no+nh,nd+no+nh,nd+no+nh); printf("\n\n"); //Operacao de soma interna de numeros inteiros de bases diferentes printf("\nSoma de um decimal(10)+octal(010)+hexadecimal(0x10):%d \n ",10+010+0x10); printf("\nSoma de um decimal(22)+octal(022)+hexadecimal(0x22):%d \n ",22+022+0x22); printf("\nSoma de um decimal(100)+octal(0100)+hexadecimal(0x100):%d",100+0100+0x100); printf("\n\n"); system ("PAUSE"); return 0; }
OUTPUT
Digite um numero inteiro decimal positivo:198 decimal=198 | octal=306 | hexadecimal=C6
Resultado da soma de: numero inteiro decimal positivo 198 numero inteiro octal positivo 577 numero inteiro hexadecimal positivo 1AF decimal=1012 | octal=1764 | hexadecimal=3F4
Soma de um decimal(10)+octal(010)+hexadecimal(0x10):34 Soma de um decimal(22)+octal(022)+hexadecimal(0x22):74 Soma de um decimal(100)+octal(0100)+hexadecimal(0x100):420 Pressione qualquer tecla para continuar. . .
10a AULA