|
![]() |
||
Binário, Octal e Hexadecimal
|
||
. Nós temos 754.111 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Membro Senior
Registrado em: Apr 2003
Localização: Rio de Janeiro
Mensagens: 342
Reputação: 20
![]() ![]() |
Aê, tô precisando de um site que explique profundamente esses sistemas. Eu sei o básico, 3 dígitos em binário = 1 dígito em octal, dois dígitos em hexadecimal = 8 bits, logo 8 dígitos em binário, sei contar em binário e fazer conversões simples de cabeça. Mas eu preciso aprender mais a fundo tipo operações (de conversão também) e tal, o básico pelo menos.
Quem puder me dar umas dicas eu agradeço ![]() |
|
|
|
|
|
#2 (permalink) |
|
Novo Membro
|
Sempre me deparo com problemas nestas notações e nunca para pensar muito, sei o básico para fazer qualquer operação utilizo a calculadora mesmo (nada como converter para decimal e resolver tudo na hora). :lol:
Dei uma fuçada no Google e vi centenas de tutoriais sobre isso, um dos sites que encontrei foi: http://www.tutorials4u.com/c/ascii.htm
__________________
Daniel Brooke Peig (www.brookepeig.com) Linux User #81713 Equipe Fedora Linux Brasil - Precisamos de seu apoio ! (www.fedorabrasil.com.br) |
|
|
|
|
|
#3 (permalink) |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Conversão
tenta decorar as tabelas: Decimal/Octal - Binário 0 / 0 - 000 1 / 1 - 001 2 / 2 - 010 3 / 3 - 011 4 / 4 - 100 5 / 5 - 101 6 / 6 - 110 7 / 7 - 111 Decimal - Hexa - Binário 00 / 0 - 0000 01 / 1 - 0001 02 / 2 - 0010 03 / 3 - 0011 04 / 4 - 0100 05 / 5 - 0101 06 / 6 - 0110 07 / 7 - 0111 08 / 0 - 1000 09 / 1 - 1001 10 / A - 1010 11 / B - 1011 12 / C - 1100 13 / D - 1101 14 / E- 1110 15 / F - 1111 Pra converter de decimal pra hexadecimal, você vai dividindo por 16. A cada divisão, o resto é o dígito convertido, o quociente, enquanto for maior que zero, guarda pra dividir denovo. Pega os restos de trás pra frente e monta o número. Ex.: 1000 / 16 = 62, resto 8 (8) 62 / 16 = 3, resto 14 (E) 3 / 16 = 0, resto 3 (3) 1000 (Base10) == 3E8 (Base16). Ou, também, 0x3E8. Passar de decimal pra binário: o jeito certo: 1. se for impar, coloque 1 no resultado; se for par, coloque 0 no resultado. 2. divida por 2 e repita o passo 1. 3. pegue os 0/1 do resultado na ordem inversa. Porém às vezes é mais rápido converter pra hexadecimal e aplicar a tabelinha de cima. Passar de decimal pra octal: o jeito certo: 1. divida o valor por 8; pegue o resto e guarde. 2. repita o passo 1 com o quociente enquanto este for maior que zero. Normalmente é mais rápido converter pra hexa, de hexa pra binário, e reagrupar os bits de 3 em três, fazendo os dígitos octais. Ex: 1000 -> 0x3E8 -> 0011/1110/1000 -> 001/111/011/000 -> 01730
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
#4 (permalink) |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Aritmética
- Números negativos (Complemento a 2) Normalmente você começa a contar do zero. O truque pra fazer um número negativo é comaçar a contar antes do zero. Assim: Digamos que você vai trabalhar com 4 bits. Assim dá pra contar de 0 a 15. O que a gente vai fazer é contar de -8 a 7. A contagem fica: 1000 -> -8 1001 -> -7 1010 -> -6 1011 -> -5 1100 -> -4 1101 -> -3 1110 -> -2 1111 -> -1 0000 -> 0 0001 -> 1 0010 -> 2 0011 -> 3 0100 -> 4 0101 -> 5 0110 -> 6 0111 -> 7 - Soma Para somar dígitos binários, lembre-se das 3 regras: 0+0=0, 0+1=1, 1+1=0 e vai 1. Assim, 7+5 (5bits) = 00111 + 00101 Código:
Você subtrai somando. Assim, 7 - 5 = 7 + (-5): Código:
- Multiplicação e Divisão Existem algoritmos específicos pra multiplicar e dividir, e nem são tão complicados; são essencialmente os mesmos da mult/divisão decimal, só que quando vc bota o passo a passo em palavras fica enorme. - Operações binárias: AND, OR, XOR, NOT As operações binárias são feitas bit a bit e não geram carry. Lembre-se: 0 AND 0 = 0 - AND: igual a 1 se os dois forem iguais a 1. 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1 0 OR 0 = 0 - OR: igual a 1 se pelo menos um dos dois for igual a 1. 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1 NOT 0 = 1 - NOT: igual a 1 se o operando for igual a 0. NOT 1 = 0 0 XOR 0 = 0 - XOR: igual a 1 se apenas um dos dois for igual a 1. 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 Assim, pra calcular o endereço de rede você faz um AND da máscara de sub-rede com o endereço IP, bit a bit: 200.222.170.32 AND 255.255.252.0 = C8.DE.AA.20 AND FF.FF.FC.0 = 11001000.11011110.10101010.00100000 AND 11111111.11111111.11111100.00000000 = 11001000.11011110.10101000.00000000 = C8.DE.A8.00 = 200.222.168.0
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
#5 (permalink) |
|
Membro Senior
Registrado em: Apr 2003
Localização: Rio de Janeiro
Mensagens: 342
Reputação: 20
![]() ![]() |
Putz cara, valeu, já rolou um copy/paste aqui para o meu vi
Tu cursa algo relacionado a computação. Na UERJ por acaso? |
|
|
|
|
|
#6 (permalink) | |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Citação:
Mas nos idos de 1985 tinha um livro chamado "Uma Introdução Ilustrada à Computação (com muito humor)" (Larry Gonick). Ele tinha tudo isso, e era um barato... bom, já são quase 20 anos, e o livro pode estar defasado em várias coisas, mas acho que vale uma olhada...
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
|
#7 (permalink) |
|
Newbie
Registrado em: Aug 2008
Mensagens: 1
Reputação: 0
![]() |
tem algum tutorial pra aprofundar mais ainda a questao de conversão?
desculpa voltar esse topico tao antigo... mas eu to assitindo aula aqui sem oculos e acabei de perder toda a explicação. |
|
|
|
![]() |
| Opções do Tópico | |
|
|