Por que usamos outras bases que não são binárias (para computadores) nem decimais (para seres humanos)?
Os computadores acabam representando-os em binário, e os humanos preferem fortemente obter sua representação decimal. Por que não seguir essas duas bases?
numeral-representations
Quora Feans
fonte
fonte
Respostas:
Números octais (base 8) e hexadecimais (base 16) são um compromisso razoável entre o sistema binário (base 2) que os computadores usam e o sistema decimal (base 10) usado pela maioria dos seres humanos.
Os computadores não são bons em vários símbolos; portanto, a base 2 (onde você tem apenas dois símbolos) é adequada para eles, enquanto cadeias mais longas, números com mais dígitos, são menos problemáticos. Os seres humanos são muito bons com vários símbolos, mas não são tão bons em lembrar de cordas mais longas.
Octal e hex usam a vantagem humana de poderem trabalhar com muitos símbolos enquanto ainda é facilmente convertível entre binários, porque cada dígito hexadecimal representa 4 dígitos binários ( ) e cada dígito octal representa 3 ( 8 = 2 3 ). Eu acho que o hex ganha sobre o octal porque ele pode ser facilmente usado para representar bytes e números de 16/32/64 bits.16 = 24 8 = 23
fonte
Nós os usamos por conveniência e brevidade.
Hex e Oct são realmente excelentes representações compactadas de binário. O Hex, em particular, é adequado para formas condensadas de endereços de memória. Cada dígito de outubro mapeia diretamente para 3 bits binários e cada dígito hexadecimal para 4 bits binários. Isto é o resultado das bases (8 e 16) serem potências de 2 ( e 2 4 ). Por exemplo, eu posso escrever 01101001 binário como hex 69 ou se eu o estender com um zero inicial como 151 de outubro .23 24 01101001 69 151
Então, digamos que você precise de um endereço de memória de 64 bits. Você pode ver todos os 64 bits binários ou condensá-lo em 16 dígitos hexadecimais. Geralmente, você não precisa comparar alguns endereços para ver se são iguais ou contínuos. Você prefere olhar para 64 bits ou 16 dígitos?
fonte
Os números binários no texto são um desperdício de espaço.
fonte
Introdução
Como já mencionado por outras respostas, pode haver notações diferentes para diferentes propósitos e restrições. O Notations é na verdade uma codificação como uma sequência de caracteres, e sabemos pelo estudo de algoritmos e estrutura de dados que existem muitas maneiras de codificar conceitos abstratos, uma lista ou um conjunto, por exemplo, dependendo do que queremos fazer com ele. . Nesse caso, é principalmente uma conveniência algorítmica.
Ao considerar a representação de números, o mesmo se aplica. Dentro do computador, tudo é binário no nível mais baixo, embora representações mais estranhas possam ser usadas para alguns aplicativos.
Fora do computador, usamos qualquer tipo de representação humana compreensível, dependendo da conveniência humana em relação ao tipo de valor representado. Muitas vezes, a representação binária é muito longa e não estruturada para ser lida e escrita com facilidade, tornando-se hexadecimal ou octal. Muitas vezes, a escolha tem a ver com a maneira como as informações são estruturadas em uma palavra binária, que não necessariamente representa um número.
Porém, ao considerar apenas números , ou seja, representação de números, vale a pena examinar outros sistemas de representação numérica para entender que os principais fatores são: fisiologia, hábito e conveniência. A conveniência é, obviamente, o principal fator que cria a diversidade, pois depende do contexto de uso.
Um olhar mais amplo
O corpo da questão não parece de forma alguma restrito aos computadores, e os seres humanos já usaram e ainda estão usando vários outros sistemas de numeração. Alguns deles são até usados em computadores, por exemplo, quando se lida com números inteiros longos (para não mencionar números não inteiros ).
Uma primeira observação é que, quando as pessoas contam em milhares ou milhões como uma unidade, isso ainda é considerado decimal, porque são potências de 10. Portanto, pode-se perguntar por que octal ou hexadecimal não deve ser considerado apenas uma variação no binário. Uma razão possível pode ser o número de símbolos usados para representar números (embora esse seja um assunto discutível, como veremos em outros sistemas).
Então, em relação aos seres humanos, eles usam vários sistemas na base 5, chamados sistemas quinários . Na verdade, a maioria desses sistemas possui duas bases, sendo a segunda 2 ou 4, alternando com a base cinco, o que as torna equivalentes à base 10 (decimal) ou à base 20 (vigesimal). Adivinhe de onde isso vem :)
Esses sistemas de base dupla são chamados de sistemas bi ou quádruplos. O quinary puro é raramente usado.
O numeral romano pode ser visto como um sistema bi-quinário (que é uma indicação de como fazer aritmética com eles). Ábaco chinês e japonês usam bi-quinary. O quadri-quinário foi usado pelos maias.
A razão para usar um sistema provavelmente é muitas. Uma boa razão é que foi o primeiro projeto local e as pessoas agora estão acostumadas. Por exemplo, pode-se perguntar também por que as pessoas que falam inglês ainda estão usando um sistema de numeração extremamente estranho ao tentar medir distâncias. Você poderia argumentar que se trata de várias unidades, sem numeração, mas essa é uma observação muito fraca. Os números são usados principalmente para medir as coisas.
Outras razões para manter um sistema é a conveniência em um determinado contexto. Pode haver uma troca entre o número de símbolos diferentes, ou posições em um ábaco, e o número de ocorrências de símbolos necessárias para formar números suficientemente grandes. A Base 2 funciona com 2 símbolos distintos, mas possui muitas ocorrências, o que pode ser inconveniente para uma representação do material. A base vigesimal 20 exigiria vinte símbolos e tabelas de multiplicação muito grandes das quais as pessoas não se lembrariam. Mas um sistema bi-quinário ou quadri-quinário é muito mais gerenciável, especialmente para criar ábaco. O sistema quinário puro provavelmente seria ainda melhor, mas vai contra os hábitos e a intuição baseados na fisiologia. E é sempre bom poder usar os dedos para contar, quando não sabemos melhor.
Mas isso não é tudo.
Um sistema muito antigo e muito comum é o sistema sexagesimal usado para medir o tempo e os ângulos (mas sabemos que eles estão relacionados, através da rotação da Terra). Ele usa a base 60, mas não usa 60 símbolos, pois são muitos. Portanto, ele conta com outro sistema para representar seus synbols (como o sistema decimal).
O círculo pode ser dividido em 6 partes correspondentes a ângulos de 60 graus, que são as mais simples de construir com triângulos equilaterais. Então, cada grau é de 60 minutos de arco, cada um dividido em 60 segundos.
De acordo com a wikipedia
Considerando a origem, era um sistema bastante conveniente, numa época em que a matemática mal entrava na infância. Não é fácil desenhar apenas o ângulo de 60⁰, mas 60 tem muitos fatores, de modo que permitiu dividir de várias maneiras com números inteiros, sem um resto.
Mas existem outras maneiras de chegar aos 60, como o sistema vigésimo-ternário dos babilônios .
Por que ainda usamos o sistema sexagesimal? Acho que estamos acostumados a isso e podemos ter muitos problemas conflitantes para que uma mudança seja totalmente justificada.
É interessante notar que há muita interação entre sistemas de numeração e sistemas de unidades. Mas isso é esperado, uma vez que a medida é um papel importante para os números. Isso é perceptível na oposição entre as métricas decimal e binária para o tamanho da memória .
fonte
Os computadores entendem os números binários e, em binário, os pesos do número estão na potência de 2; portanto, o número de dígitos para representar um número pode ser grande, dependendo do número.
Digamos, 64 em decimal pode ser representado por 7 bits, enquanto que para representar o número 5000, precisamos de 13 bits.
O sistema de números octais e hexadecimais é uma maneira compacta de representar um número binário.
fonte
[What advantage is there to using a base different from ten or (a power of) two?]
- ou de que outra forma você interpretaWhy not stick to [bases 2 and 10]?
?