Mostrando postagens com marcador conversão. Mostrar todas as postagens
Mostrando postagens com marcador conversão. Mostrar todas as postagens

sábado, 18 de maio de 2013

Conversão entre coordenadas geográficas e UTM

O sistema de coordenadas geográficas expressa a posição de um ponto na superfície esférica do globo. Um exemplo desta coordenada são os valores -23,653492 graus de latitude e -47,235703 graus de longitude. O sistema de coordenadas UTM expressa a posição de um ponto em uma projeção plana do globo terrestre. Um exemplo desta coordenada são os valores X 271960,000 (Easting), Y 7382350,200 (Northing), Fuso 23 (Zone), Hemisfério Sul e Elipsoide WGS84 (datum).

As coordenadas podem ser convertidas de um sistema para o outro. Existem uma série de fórmulas, longas e volumosas mas não difíceis de compreender, que convertem uma coordenada do sistema de coordenadas geográficas para o sistema de coordenadas UTM e vice-versa. As fórmulas são baseadas nas propriedades do elipsoide, na geometria do elipsoide de revolução, que serve como referência no posicionamento geodésico.

Com o intuito de tornar este artigo o mais simples possível na execução da conversão, a teoria sobre a geometria do elipsoide de revolução não está demonstrada, muito menos a origem das fórmulas. Ainda, este artigo não trata da coordenada de altitude.

Uma informação importante nos valores de uma coordenada no sistema UTM é sobre o elipsoide de referência. O elipsoide de referência serve para representar matematicamente a superfície terrestre, na forma de um elipsoide de revolução, e assim executar os cálculos e definir as coordenadas. Um dos elipsoides de referência, ou datum, mais usados é o WGS84 e é o que está sendo usado neste artigo. Conhecer o datum é importante porque, nos cálculos, as fórmulas adotam alguns valores (parâmetros) constantes e estes valores estão definidos no datum.

Assim, por exemplo, pela coordenada UTM apresentada no primeiro parágrafo deste artigo, vemos que o datum é o WGS84. Desta forma, nos cálculos desta coordenada são necessários os parâmetros do elipsoide WGS84. O relatório técnico número 8350.2 (3ª edição) da Agência Nacional de Informação Geoespacial, do Departamento de Defesa dos Estados Unidos, define os valores (parâmetros) constantes do elipsoide WGS84, que são:

- Raio Equatorial (semi-eixo maior do elipsoide) em metros:



- Achatamento polar:




Destes parâmetros, derivam-se as seguintes constantes geométricas, que também são utilizadas nos cálculos:

- Raio Polar (semi-eixo menor do elipsoide) em metros:



- Primeira Excentricidade:



- Primeira Excentricidade ao Quadrado:



- Segunda Excentricidade:



- Segunda Excentricidade ao Quadrado:




Outro detalhe é que os graus de latitude e longitude, nestes cálculos, são usados em notação decimal. Se estiverem em notação sexagesimal, o artigo "Conversão de grau decimal e sexagesimal" (http://dan-scientia.blogspot.com.br/2012/12/conversao-de-grau-decimal-e-sexagesimal.html) pode ser útil.

Ainda em relação a latitude e longitude, além dos valores em graus decimais também são necessários os valores em radianos. A conversão de graus decimais para radianos é feita com o uso das fórmulas a seguir. Neste artigo, a latitude e a longitude em graus decimais estão representadas respectivamente por "lat" e "long", e em radianos estão representadas respectivamente pelas letras gregas phi "φ" e lambda "λ".






Mais alguns valores são utilizados nas fórmulas dos cálculos:

A latitude de origem, que no UTM padrão é zero.




O fator de escala no meridiano central do fuso, para garantir um modelo mais favorável de deformação em escala ao longo do fuso.




Os valores de falso norte, que será adotado um ou outro dependendo da posição, se está no hemisfério norte ou sul, e o valor para o falso leste, sendo o valor do meridiano central do fuso. Estes valores são adotados para evitar números negativos. Os graus em notação decimal são indicados com o sinal - (negativo) quando na latitude sul (hemisfério sul) ou na longitude oeste.






Conversão de coordenada geográfica para coordenada UTM

Nesta conversão, iremos obter os valores de Easting (x), Northing (y) e o fuso, a partir da coordenada geográfica, utilizando o datum WGS84.

O fuso UTM (zone) é dado pela fórmula:




E o meridiano central do fuso, que não é um item da coordenada mas será usado nos cálculos de ambas as conversões, é dado pela fórmula:




Na obtenção dos valores de Easting e Northing começam os cálculos pesados. As fórmulas para o cálculo das coordenadas Easting e Northing são compostas de diversos termos. Para que as fórmulas não fiquem extremamente extensas, podemos resolver estes termos realizando cálculos intermediários.

O cálculo de M, comprimento do arco de meridiano, que é a distância vertical ao longo da superfície terrestre partindo do Equador até o ponto, é feito com as fórmulas (séries) a seguir. A latitude está em radianos.




Outros cálculos intermediários devem ser feitos, também relacionados as propriedades do elipsoide, como o raio da curvatura na primeira vertical ou grande normal (N).




Por fim, as fórmulas para obtenção dos valores em metros de Easting (x) e Northing (y). Os valores obtidos nos cálculos intermediários devem ser substituídos nas fórmulas a seguir.






Na anotação desta coordenada deve-se, além dos valores de x, y e fuso, incluir o hemisfério e o datum.


Conversão de coordenada UTM para coordenada geográfica

Nesta conversão, iremos obter os valores de latitude e longitude, a partir da coordenada UTM (x, y e fuso), utilizando o datum WGS84. Alguns valores utilizados serão os mesmos da conversão inversa, incluindo as constantes geométricas, a latitude de origem e o fator de escala no meridiano central do fuso.

As fórmulas para o cálculo das coordenadas geográficas também são compostas de diversos termos. Assim, da mesma forma, para que as fórmulas não fiquem extremamente extensas, podemos resolver estes termos realizando cálculos intermediários.

O cálculo de M, comprimento do arco de meridiano, que é a distância vertical ao longo da superfície terrestre partindo do Equador até o ponto, é feito com a fórmula a seguir.




O cálculo da "footprint latitude", que é a latitude do ponto no meridiano central do fuso que possui a mesma latitude, ou comprimento do arco de meridiano, que o ponto que está sendo convertido.




E mais estes termos intermediários, calculados para "footprint latitude".




Finalmente, as fórmulas para obtenção dos valores da latitude (φ) e longitude (λ). Os valores obtidos nos cálculos intermediários devem ser substituídos nas fórmulas a seguir.






A notação decimal destas coordenadas são obtidas com as fórmulas a seguir.






A conversão entre coordenadas geográficas e UTM não é tão complicada mas requer muitos cálculos. Um software matemático ou uma planilha eletrônica ajuda na velocidade de todos os cálculos, além do mais, já existem muitos sites e aplicativos que fazem estas conversões. O propósito deste artigo é somente mostrar as fórmulas, de forma simplificada pois algumas são séries.

Para mais informações sobre o UTM, leia o artigo "O Sistema de Coordenadas UTM" (http://dan-scientia.blogspot.com.br/2013/04/o-sistema-de-coordenadas-utm.html).

Bibliografia recomendada:

National Imagery and Mapping Agency Technical Report 8350.2, Department of Defense World Geodetic System 1984, Its Definition and Relationships with Local Geodetic Systems, Third Edition, January 2000.

SNYDER, J.P., Map Projections A Working Manual, U.S. Geological Survey Professional Paper 1395, Supersedes USGS Bulletin 1532, United States Government Printing Office, Washington, 1987.

sábado, 22 de dezembro de 2012

Conversão de grau decimal e sexagesimal

A posição de um ponto na superfície terrestre pode ser expressa pelas coordenadas geográficas. A latitude, que vai de zero à 90 graus, e a longitude, que vai de zero à 180 graus, possui basicamente duas notações, o grau em notação decimal ou o grau em notação sexagesimal.

A notação decimal é a forma numérica na qual estamos mais acostumados, o grau pode ser expresso por um número não inteiro. Um exemplo, no caso uma latitude, é -23,62463499 graus, um simples número decimal. O sinal negativo indica a latitude Sul, se fosse longitude indicaria o Oeste.

A notação sexagesimal é dada, em uma forma bem precisa, em grau, minuto e segundo. Com os minutos e segundos indo de zero à 60. Esta última unidade de medida, em segundo, pode receber um número não inteiro, e da mesma forma o minuto, caso se omita a unidade de segundo. A latitude e longitude para a notação sexagesimal é comumente indicada pelas letras de Norte-Sul-Leste-Oeste, ao invés do sinal negativo ou positivo. Um exemplo de latitude é 23° 37' 28,686" S.

É possível converter os números dentre as notações de grau decimal e sexagesimal. A notação decimal é facilmente obtida a partir da notação sexagesimal com o uso da seguinte fórmula:

grau + minuto/60 + segundo/3600

Exemplo:

Notação sexagesimal dada: 23° 37' 28,686" S

23 + 37/60 + 28,686/3600 = -23,624635°

(Para a latitude Sul e a longitude Oeste o resultado deve receber o sinal negativo.)


Inversamente, o grau em notação sexagesimal é obtido a partir da notação decimal com os seguintes cálculos:

1) O grau é obtido com o valor absoluto da notação decimal, somente a parte inteira.

2) O minuto é obtido com o valor absoluto da parte fracionária da notação decimal multiplicado por 60, pegando somente a parte inteira deste resultado.

3) O segundo é obtido com o valor absoluto da parte fracionária da notação decimal multiplicado por 60, e multiplicando a parte fracionária deste resultado por 60.

Exemplo:

Notação decimal dada: -23,62463499°

1) 23°

2) 0,62463499 x 60 = 37,4780994  portanto 37'

3) a) 0,62463499 x 60 = 37,4780994
   b) 0,4780994 x 60 = 28,685964"

Portanto 23° 37' 28,686" S

(Se o valor da notação decimal é negativo então a latitude será Sul ou a longitude será Oeste.)

Sugestão de leitura. Saiba como calcular a distância entre coordenadas geográficas lendo o artigo em: http://dan-scientia.blogspot.com.br/2009/05/distancia-entre-coordenadas-geograficas.html

terça-feira, 28 de junho de 2011

Equivalência de taxas de juros

Para aplicar as fórmulas de cálculo dos juros simples ou compostos, a taxa e o tempo devem estar na mesma unidade, por exemplo se o número de períodos for medido em meses, a taxa de juros deve ser ao mês. Se a taxa e o tempo estiverem em unidades diferentes, é necessária a conversão para descobrir a taxa equivalente.

Duas taxas de diferentes períodos de capitalização são equivalentes, se aplicadas ao mesmo valor presente durante o mesmo período de tempo, produzem o mesmo montante final. Por exemplo, uma taxa de juros ao mês pode ser equivalente a uma taxa de juros ao ano, se aplicadas uma em 12 meses e a outra em um ano, com ambas produzindo o mesmo montante.

A lógica para a equivalência pode ser exemplificada assim:

Sendo PV aplicado por um ano a uma taxa anual ia, o montante M após 1 ano será igual a PV x (1 + ia). O mesmo PV aplicado por 12 meses a uma taxa mensal im, o montante após 12 meses será igual a PV x (1 + im)^12. Desta forma, se as taxas ia e im forem equivalentes, PV x (1 + ia) será igual a PV x (1 + im)^12. Conclui-se que 1 + ia = (1 + im)^12. Com esta fórmula podemos calcular a taxa anual equivalente a uma taxa mensal conhecida, ou vice-versa.

Sabendo quantos períodos b existem no período a, podemos aplicar a fórmula onde n é o número de períodos b em a, para obter a equivalência entre as taxas ipa e ipb:


Por exemplo, a taxa mensal im equivalente a 0,5% ao dia será:

1 + im = (1 + 0,5/100)^30
im = 0,1614  portanto i = 16,14% a.m.

Como prova, o sentido inverso:

1 + 16,14/100 = (1 + id)^30
id = 0,005  portanto i = 0,5% a.d.

Esta fórmula é indicada para juros compostos, pois em juros simples a taxa equivalente é simplesmente a multiplicação da taxa pelo número de períodos. Ex.: ia = im x 12.

quarta-feira, 21 de abril de 2010

Km/h e m/s, como se faz a conversão mesmo?

Para quem já saiu da escola faz tempo e o conteúdo aprendido naquela época é agora apenas uma vaga lembrança, o que é uma pena, provavelmente deve-se lembrar do cálculo de conversão da velocidade escalar média que usava um tal de 3,6, que multiplicava aqui, dividia ali etc. Quem é esse 3,6?

Na cinemática, a velocidade escalar média é o quociente da divisão da distância percorrida pelo tempo gasto. Por exemplo, se alguém durante uma viagem percorreu a distância de 500 km em 10 horas, podemos dizer que a velocidade média do movimento foi 50 km/h. A definição de forma análoga é Vm = Δs/Δt. No Sistema Internacional a unidade de medida padronizada para a velocidade é em metro por segundo.

Mas é comum, devido ao uso diário, expressarmos a velocidade em km/h. Assim, podemos relacionar essa unidade com a unidade de velocidade do Sistema Internacional, como se segue:

1 km / 1 h = 1000 m / 3600 s » 1 km / 1 h = 1 m / 3,6 s

Então:

1 km/h = 1/3,6 m/s » 3,6 km/h = 1 m/s

Tornando mais claro:

1 m/s = 3,6 km/h

Desta forma, para fazer a conversão de m/s para km/h, multiplica-se o valor por 3,6. Na conversão de km/h para m/s, divide-se o valor por 3,6. Por exemplo, um corredor de 100 metros rasos completa esta distância em aproximadamente 9 segundos, sua velocidade então é 11,1 m/s. Em quilômetros por hora sua velocidade é 11,1 x 3,6, que é 39,96 km/h.

O que são os 3,6? São os 3600 segundos que compõem uma hora, 60 minutos vezes 60 segundos.

sábado, 13 de março de 2010

Convertendo cores do RGB para o CMY e vice-versa

É possível realizar matematicamente a conversão entre os modelos de cores aditivas (RGB) e subtrativas (CMY). As fórmulas apresentadas neste artigo recebem valores RGB entre 0 e 255 e valores CMY entre 0 e 1. Os resultados também estão nestas escalas.

Com relação a escala CMY, é mais comum os softwares usarem valores entre 0 e 100% então um ajuste é necessário. Por exemplo 50% é 0,5 na escala utilizada por estas fórmulas.

Convertendo RGB em CMY:

C = 1 - ( R / 255 )
M = 1 - ( G / 255 )
Y = 1 - ( B / 255 )

Convertendo CMY em RGB:

R = ( 1 - C ) * 255
G = ( 1 - M ) * 255
B = ( 1 - Y ) * 255

Pelo motivo dos softwares representarem as profundidades de cores utilizando somente escalas com números inteiros e em alguns casos sendo necessário um arredondamento na conversão, o resultado da conversão pode não ser exatamente a mesma cor.

segunda-feira, 9 de novembro de 2009

Como fazer conversões de unidades de medida

Uma unidade de medida é uma quantidade específica de determinada grandeza física usada para servir de padrão para outras medidas. Existem diferentes unidades de medida e, para citar algumas, as mais comuns no nosso dia a dia são as unidades usadas para medir as grandezas de área, comprimento, massa, temperatura, tempo, velocidade e volume.

Cada grandeza pode conter mais de uma unidade de medida, por exemplo o comprimento pode ser medido em metros, em jardas, em milhas etc. E entre as unidades de medida das grandezas existe sempre um valor de correspondência para a conversão.

Para efetuar a conversão entre duas unidades devemos saber qual o fator de equivalência. Por exemplo, na grandeza de comprimento temos que 1 polegada é igual a 0,0254 metro, ou 2,54 centímetros, então 2 polegadas em centímetro será 2 vezes 2,54. Uma simples regra de três.

No sentido inverso o fator será outro. No exemplo da conversão de metro para polegada, se não tivermos a informação do fator, o seu cálculo será a divisão de 1 por 0,0254. Como resultado obteremos que 1 metro equivale a 39,37 polegadas. Assim agora basta aplicar novamente a regra de três, por exemplo 0,5 metros em polegadas é igual a 0,5 vezes 39,37, o que dá 19,69 polegadas.

Aprofundando um pouco mais no assunto, sempre teremos os dois fatores que poderão ser utilizados em ambos os sentidos da conversão, considere a situação:

1 polegada = 0,0254 metro
1 metro = 39,37 polegadas


O cálculo de conversão de 2 polegadas em metro pode ser 2 vezes 0,0254, como visto anteriormente, ou pode também ser 2 dividido por 39,37. Ambos os resultados são 0,0508 metro. E no cálculo de 0,5 metros em polegadas pode ser 0,5 vezes 39,37 ou também 0,5 dividido por 0,0254. Ambos os resultados são 19,69 polegadas.

Sempre é uma regra de três que utilizamos para efetuar o cálculo da conversão, o que muda é a posição da incógnita de acordo com as informações que temos. Existem diversos softwares e calculadoras que facilitam a conversão, mas é bom saber como se faz.

Segue uma pequena listagem das equivalências entre algumas unidades de medida:

Medidas de comprimento:

1 metro    = 0,00062137119 milha
= 1,0936133 jardas
= 3,2808399 pés
= 39,370079 polegadas

1 milha = 1609,344 metros
= 1760 jardas
= 5280 pés

1 jarda = 0,9144 metro
= 3 pés
= 36 polegadas

1 pé = 0,3048 metro
= 0,33333333 jarda
= 12 polegadas

1 polegada = 0,0254 metro
= 0,083333333 pé


Medidas de área:

1 acre                = 4046,8726 metros quadrados
= 0,40468726 hectares

1 hectare = 10000 metros quadrados
= 0,4132231 alqueire (paulista)
= 2,4710439 acres

1 alqueire (paulista) = 24200 metros quadrados
= 2,42 hectares

1 metro quadrado = 0,0000413 alqueire (paulista)
= 0,0001 hectare
= 0,00024710439 acre


Medidas de volume:

1 barril (us) = 158,98729 litros
= 42 galões (us)

1 galão (us) = 3,7854118 litros
= 0,023809524 barril (us)
= 128 onças (us)

1 onça (us) = 0,02957353 litro
= 0,0078125 galão (us)

1 litro = 0,0062898108 barril (us)
= 0,26417205 galão (us)
= 33,814023 onças (us)


Medidas de massa:

1 libra      = 0,45359237 quilograma
= 16 onças

1 onça = 0,028349523 quilograma
= 0,0625 libra

1 quilograma = 2,2046226 libras
= 35,273962 onças

quarta-feira, 3 de junho de 2009

Conversão entre bases numéricas

Todo número inteiro positivo de qualquer base pode ser convertido para qualquer outra base numérica através da aplicação de um teorema numérico proveniente da teoria dos números. Sabemos que, pelo seguinte teorema, seja B um inteiro positivo maior do que 1, então todo inteiro positivo N pode ser representado de maneira única da seguinte forma:

N = Dn x B^n-1 + Dn-1 x B^n-2 + ... + D2 x B^1 + D1 x B^0

Sendo n a quantidade de algarismos, D cada algarismo do número e B a base do número. Onde n>=1, 0<=D<B, Dn o algarismo mais significativo e D1 o algarismo menos significativo.

Por exemplo o número em base decimal 53742, que possui cinco algarismos, pode ser escrito na forma 5 x 10^4 + 3 x 10^3 + 7 x 10^2 + 4 x 10^1 + 2 x 10^0.

Para expressarmos 53742, por exemplo, na base 7 vamos proceder de forma a obter informações semelhantes a estas, onde 7 irá representar o papel de 10 no que acabamos de descrever. Primeiro dividimos 53742 por 7 obtendo quociente 7677 e resto 3. Em seguida dividimos este quociente 7677 por 7 obtendo um segundo quociente igual a 1096 e resto 5. Seguindo repetidamente este procedimento até chegarmos a um quociente nulo, obtendo a seguinte seqüência de igualdades:

53742 = 7 x 7677 + 3
7677 = 7 x 1096 + 5
1096 = 7 x 156 + 4
156 = 7 x 22 + 2
22 = 7 x 3 + 1
3 = 7 x 0 + 3

Como a seqüência dos quocientes é decrescente e formada somente por inteiros positivos ela deve atingir o valor zero. Na primeira destas equações substituímos o valor de 7677 dado na segunda. Na expressão resultante substituímos o valor de 1096 dado na terceira, nesta o valor de 156 dado na quarta e assim sucessivamente obtendo a seguinte expressão:

53742 = 7 x (7 x 1096 + 5) + 3
= 7^2 x 1096 + 5 x 7 + 3
= 7^2 x (7 x 156 + 4) + 5 x 7 + 3
= 7^3 x 156 + 4 x 7^2 + 5 x 7 + 3
= 7^3 x (7 x 22 + 2) + 4 x 7^2 + 5 x 7 + 3
= 7^4 x 22 + 2 x 7^3 + 4 x 7^2 + 5 x 7 + 3
= 7^4 x (7 x 3 + 1) + 2 x 7^3 + 4 x 7^2 + 5 x 7 + 3
= 3 x 7^5 + 1 x 7^4 + 2 x 7^3 + 4 x 7^2 + 5 x 7 + 3

Esta expressão é a representação do número decimal 53742 na base 7 e é denotado por 312453_7, ou seja, 53742_10 = 312453_7.

Observa-se que por toda a seqüência de divisões pela base, os restos obtidos formam justamente os algarismos do número resultante na conversão, obtendo primeiro o algarismo menos significativo até, na última divisão, o mais significativo.

Para denotarmos números em base maior que 10 temos que utilizar algarismos extras pois os algarismos numéricos são somente 10, de 0 a 9. Deste modo é padrão utilizar as letras do alfabeto para representar os números de 10 em diante, sendo A=10, B=11, C=12 etc.

Para expressarmos o número decimal 76269, por exemplo na base 13, aplicamos a seqüência de divisões por 13, obtendo a seguinte seqüência de igualdades:

76269 = 13 x 5866 + 11
5866 = 13 x 451 + 3
451 = 13 x 34 + 9
34 = 13 x 2 + 8
2 = 13 x 0 + 2

Portando:

76269_10 = 2 x 13^4 + 8 x 13^3 + 9 x 13^2 + 3 x 13^1 + 11 x 13^0 = 2893B_13

Até agora vimos exemplos de conversão em somente um sentido, de base decimal para outra base numérica. Para o sentido inverso, de qualquer base para a base decimal, basta aplicarmos a fórmula do teorema sem necessitar da seqüência de divisões, efetuando apenas o somatório dos algarismos multiplicados pela base elevada a potência entre n-1 à 0. Por exemplo:

E5CB_16 = 14 x 16^3 + 5 x 16^2 + 12 x 16^1 + 11 x 16^0 = 58827_10

Lembrando que E=14, C=12 e B=11.

E para conversões entre bases que não sejam uma delas a base decimal, o processo prático utilizado é converter de uma base dada para a base 10 e depois da base 10 para a outra base pedida.

É também possível a conversão de números não inteiros, aplicando o teorema com potências negativas. Por exemplo 0,572 = 5 x 10^-1 + 7 x 10^-2 + 2 x 10^-3. Para a conversão da parte fracionária realiza-se uma seqüência de multiplicações pela base ao invés de divisões sucessivas, mas esta explicação ficará para um próximo artigo.

Observação: Pelo motivo das limitações para a exibição deste texto no blog, foi adotada a notação n_b, sendo n o número e b a sua base.

sábado, 9 de maio de 2009

Números binários

Em um sistema de representação binário (base 2) os números decimais (base 10) são representados somente pelos algarismos 0 e 1. Como por exemplo o número decimal 91 no sistema binário fica 01011011. Sabe-se que uma das técnicas mais famosas para conversão de decimal para binário é a divisão repetidamente do número decimal por 2 até que se obtenha o quociente 1 , o conjunto dos algarismos iniciado pelo último quociente e voltando por todos os restos até o primeiro forma a representação do número binário, por exemplo o cálculo para conversão de 234:

234 : 2
0 117 : 2
1 58 : 2
0 29 : 2
1 14 : 2
0 7 : 2
1 3 : 2
1 1 <-

Então 234 no sistema binário fica 11101010.

Já para a conversão de binário para decimal utiliza-se a seguinte fórmula:

N = d x b^n-1 + d x b^n-2 + ... + d x b^1 + d x b^0

Sendo d cada algarismo do número, n o número total de algarismos tendo n-1 como a posição do algarismo e b indica a base do número.

Convertendo 01011011 para decimal usando a fórmula fica (pode-se ignorar o zero mais à esquerda):

N = 1 x 2^6 + 0 x 2^5 + 1 x 2^4 + 1 x 2^3 + 0 x 2^2 + 1 x 2^1 + 1 x 2^0
N = 1 x 64 + 0 x 32 + 1 x 16 + 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1
N = 64 + 0 + 16 + 8 + 0 + 2 + 1
N = 91


Entretanto o sistema de representação binário tem uma lógica de evolução dos números que apenas visualmente é possível mentalizar o resultado da conversão, inclusive no sentido oposto, decimal para binário e binário para decimal. Vamos então primeiro para a evolução dos números. Tomando para a explanação o conjunto de números decimais de 0 a 255, em binário vai de 00000000 a 11111111, o início da seqüencia é:

  0   00000000
1 00000001
2 00000010
3 00000011
4 00000100
5 00000101
6 00000110
7 00000111
8 00001000
9 00001001
10 00001010
...


Pela seqüencia percebe-se que os algarismos 1 vão aparecendo na representação da direita para a esquerda. A posição do primeiro algarismo 1 à esquerda só é modificada para a próxima casa à esquerda quando todas as outras casas à direita tornam-se 1 e com este movimento todas as casas à direita retornam para o algarismo 0, iniciando novamente uma nova evolução para completar as casas da direita com 1 e assim mover mais uma vez o algarismo 1 da esquerda para mais uma casa à esquerda.

É aí que temos um fato interessante. Todos conhecem a famosa seqüencia das potências de 2 que é 1, 2, 4, 8, 16, 32, 64, 128 etc. Acontece que para cada um desses números decimais quando representados no sistema binário apenas um algarismo 1 é contido na representação. Por exemplo:

  1   00000001
2 00000010
4 00000100
8 00001000
16 00010000
32 00100000
64 01000000
128 10000000


Então dado um número representado no sistema binário, se observarmos o algarismo 1 mais à esquerda em uma determinada casa significa que o número decimal será pelo menos igual ou maior, caso tenha outro algarismo 1 à direita, a potência representada nesta determinada casa. Exemplo, em 00100110 o algarismo 1 mais à esquerda está na casa da potência 32, como tem outros algarismos 1 à direita este número é maior que 32, e obviamente menor que 64. Sendo assim onde tiver o algarismo 1 o valor de sua respectiva potência de 2 será acrescentado ao número decimal.

Agora ficou fácil. Para encontrar o número exato basta somar as potências de 2 onde o algarismo é 1. Deste modo 00100110 tem o algarismo 1 nas casas das potências 32, 4 e 2, que somando resulta 38.

Voltando à conversão de decimal para binário (base 10 para base 2) o procedimento também é simples e inverso. Dado um número decimal, inicialmente encontra-se a primeira potência de 2 com o valor menor. Partindo deste valor vai-se somando as próximas potências menores, ignorando as que façam o resultado da soma ultrapassar, até que o resultado seja igual ao número decimal. A representação no sistema binário será colocando o algarismo 1 nas casas onde foram usadas as potências para a soma. Exemplificando, o número decimal 91 utilizará a soma das potências 64, 16, 8, 2 e 1 para igualar o seu valor, assim sua conversão para o número binário será 01011011.

Referências:

GUNTZEL, J. L. & NASCIMENTO, F. A. Introdução aos Sistemas Digitais, 2001.
MONTEIRO, M. A. Introdução à Organização de Computadores, 4ª Edição, LTC, 2005.
PATTERSON, D. A. & HENNESSY, J. L. Organização e Projeto de Computadores: A Interface Hardware/Software, 3ª Edição, Ed. Campus, 2005.
STALLINGS, W. Arquitetura e Organização de Computadores, 5ª Edição, Prentice-Hall, 2002.
TANENBAUM, A. S. Organização Estruturada de Computadores, 4ª Edição, LTC, 1999.
WEBER, R. F. Fundamentos da Arquitetura de Computadores. 2ª Edição, UFRGS - Sagra-Luzzato, 2001.