Existe uma alternativa aos bits como a menor unidade de dados? Algo que não será apenas 0 ou 1, mas na verdade mantém muitos estados possíveis no meio? Não seria mais natural armazenar carros alegóricos assim?
Existe uma alternativa aos bits como a menor unidade de dados? Algo que não será apenas 0 ou 1, mas na verdade mantém muitos estados possíveis no meio? Não seria mais natural armazenar carros alegóricos assim?
Respostas:
Claro que é possível, tanto teórica quanto praticamente.
Teoricamente, existem duas classes de alternativas: sistemas numéricos digitais com uma base diferente de 2 (de fato, o sistema decimal como o conhecemos é um desses sistemas); e sistemas numéricos não digitais. Matematicamente falando, estamos falando de domínios discretos versus domínios contínuos.
Na prática, as duas opções foram exploradas. Alguns dos primeiros computadores digitais (por exemplo, ENIAC) empregavam codificações decimais, em vez da codificação binária, agora onipresente; outras bases, por exemplo, ternárias, devem ser igualmente viáveis (ou inviáveis). A linguagem de programação esotérica Malbolge é baseada em um computador ternário teórico; embora principalmente satírico, não há nenhuma razão técnica para não funcionar. O armazenamento e o processamento de domínio contínuo eram historicamente realizados em computadores analógicos, nos quais era possível codificar quantidades como frequências e / ou amplitudes de sinais oscilantes, e então você realizava cálculos aplicando todo tipo de modulação a esses sinais. Hoje, a computação quântica torna interessante a teoria por trás das células de armazenamento contínuo.
De qualquer maneira, o bit como uma menor unidade teórica de informação ainda permanece, pois qualquer alternativa pode codificar mais informações que um único sim / não, e ninguém ainda apresentou uma unidade teórica menor (e não espero que isso aconteça em breve).
double
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding
- Na verdade, as codificações decimais ainda são usadas hoje; chama-se BCD . O BIOS na maioria dos computadores usa-o (para datas com base decimal) , assim como a maioria das calculadoras baratas, porque requer menos circuitos (ou seja, é mais barato) para fazer tudo no BCD do que em binário e ter um conversor de binário para decimal.
Você está basicamente descrevendo um sinal analógico, usado em sensores, mas raramente em cálculos internos. O problema é que o ruído diminui a qualidade, você precisa de uma calibração muito precisa de um ponto de referência difícil de se comunicar, e a transmissão é um problema, porque perde força quanto mais viaja.
Se você estiver interessado em explorar a computação analógica, a maioria das aulas de "introdução à eletrônica" faz com que você construa coisas como integradores de amplificadores operacionais . Eles são fáceis de construir, mesmo sem instruções formais.
Você também pode armazenar vários estados digitais no mesmo nó. Por exemplo, em vez de 0-2,5 volts ser zero e 2,5-5,0 volts ser um, você pode adicionar um terceiro estado no meio. Porém, acrescenta muita complexidade e aumenta significativamente sua suscetibilidade ao ruído.
Esses são chamados qubits e são usados em computadores quânticos. Você encontrará mais informações sobre eles na entrada da Wikipedia . Estão sendo feitas pesquisas para tornar esses computadores estáveis e economicamente viáveis.
Uma razão pela qual usamos bits é que ela nos ajuda a armazenar e recuperar informações com precisão.
O mundo real é analógico; portanto , todas as informações que os computadores passam ou armazenam são, em última análise, analógicas . Por exemplo, uma corrente de uma tensão específica em um fio, ou carga magnética de uma força específica em um disco ou um poço de uma profundidade específica em um disco a laser.
A questão é: com que precisão você pode medir essas informações analógicas ? Imagine que uma corrente em um fio possa ser interpretada como qualquer número decimal, da seguinte maneira:
Etc. Esse sistema nos permite passar muitos dados em alguns pulsos de corrente, certo? Mas há um problema: temos que ter muita certeza de qual é a tensão. Se a temperatura ou ímãs ou raios cósmicos ou qualquer outra causa causar alguma flutuação, podemos ler o número errado. E quanto mais finamente pretendemos medir, maior o risco. Imagine se uma diferença de 1 milivolt fosse significativa!
Em vez disso, normalmente usamos uma interpretação digital . Tudo acima de algum limite é verdadeiro e tudo abaixo é falso. Para que possamos fazer perguntas como "Existe alguma corrente?" em vez de " Exatamente quanta corrente existe?"
Cada bit individual pode ser medido com confiança, porque só precisamos estar "no estádio certo". E, usando muitos bits, ainda podemos obter muitas informações.
Existem também computadores ternários em vez de binários. http://en.wikipedia.org/wiki/Ternary_computer
Um computador ternário (também chamado computador trinário ) é um computador que usa lógica ternária (três valores possíveis) em vez da lógica binária mais comum (dois valores possíveis) em seus cálculos ...
Pode ser mais natural para nós, mas há razões específicas pelas quais o binário foi escolhido para circuitos digitais e, portanto, para linguagens de programação. Se você tiver dois estados, precisará distinguir apenas entre duas configurações de volt, digamos 0V e 5V. Para cada aumento adicional na raiz (base), você precisa dividir ainda mais esse intervalo, obtendo valores indistintos um do outro. Você pode aumentar a faixa de tensão, mas esse hábito desagradável de derreter o circuito.
Se você deseja alterar o tipo de hardware dos circuitos digitais, suas opções são mais variadas. Os decimais costumavam ser usados em computadores mecânicos, pois as engrenagens têm muito mais tolerância ao calor e são muito mais distintas que as cargas elétricas. Os computadores quânticos, como declarado em outro lugar, têm outras maneiras de lidar com as coisas. Os computadores ópticos também podem fazer coisas com as quais não lidamos antes e os computadores magnéticos também são uma possibilidade.
Eu acho que hoje em dia você pode criar itens que podem conter qualquer quantidade de estados ou até trabalhar com dados analógicos. Embora construir um sistema inteiro e colocar todos os componentes lógicos em execução para obter uma arquitetura programável e com todos os recursos seria muito trabalho e um risco financeiro para qualquer empresa realizar essa tarefa.
Acho que o ENIAC foi a última arquitetura a usar contadores de dez posições para armazenar dígitos. Embora eu possa estar errado sobre isso e não tenho certeza, o quanto isso influenciou as outras partes da máquina.
O armazenamento pode ser pensado como transmissão para o futuro; todos os problemas de transmissão com mídia contínua (analógica) serão aplicados.
Armazenar esses estados pode ser trivial (uma chave de três direções ou algum tipo de grade) e armazenar fisicamente esses estados é um problema que muitas respostas abrangem, muito melhor do que eu.
Minha principal preocupação é como esse estado armazenado é codificado e parece que existe uma grande possibilidade de que essa tarefa seja uma tarefa tola, pois os bits são suficientes para a representação de dados contínuos práticos, dependendo da precisão de que você precisa, continuam adicionando mais bits.
É impossível armazenar dados verdadeiramente contínuos dessa maneira, mas equações para calculá-los, por exemplo
1/3
pode ser armazenado.
Uma pista e uma ideia são informações menores do que um pouco. Várias dicas são geralmente necessárias para estabelecer o valor definido de um bit. Os tinteiros são piores: não importa quantos você adicione, você ainda não pode saber o valor do bit resultante com certeza.
Mais seriamente, existem lógicas com valores múltiplos onde a unidade fundamental pode ter um de n estados, onde n> 2. Você pode considerar essas unidades como portadoras de menos informações do que um pouco no sentido do parágrafo anterior, mas a partir de uma teoria da informação ponto de vista que você teria que dizer que eles carregam mais. Por exemplo, você precisaria de dois bits para representar a mesma quantidade de informações que um único valor em uma lógica de quatro valores poderia transportar.
A base numérica ideal é e , mas como a maneira mais simples de representar um número em eletrônicos digitais é com dois estados (alta tensão = 1, baixa tensão = 0), a representação numérica binária foi escolhida.
e
sem mencionar também o nat ? Por vergonha.
Há uma menor unidade possível de dados. Eu não sei um nome oficial para ele, vamos chamá-lo de un.
Bit é uma palavra combinada inteligente para "Dígito binário", o que significa que possui dois estados possíveis. Portanto, deve haver um tipo de dígito com apenas um único estado possível.
Vamos ver o que isso significa. Isso significa que você teria apenas zeros para trabalhar.
Como você contaria? Em qualquer sistema x-base, você aumenta o valor até ficar sem dígitos e, em seguida, adiciona um dígito para formar um número. Se você tiver apenas um dígito, ficará sem dígitos imediatamente para:
Zero = 0 Um = 00 Dois = 000 e outros
Isso é definitivamente mais natural: mais é mais! Ele mapeia perfeitamente para qualquer número discreto de coisas. Quantas batatas? 00000 São quatro batatas. Espere um minuto ... isso é um por um. Se você não gostar, pode redefinir o valor de 0 para um. Então é realmente natural: nenhum zeros é nenhum, um zero é um, dois zeros é dois, etc.
Isso é impraticável para uma máquina de estado sólido. Os dígitos teriam que ser colocados e removidos fisicamente e não escalam bem.
Não consigo encontrar uma referência definitiva em inglês, mas, tanto quanto me lembro da classe da teoria da informação, o bit é uma unidade fundamental de informação. Um pouco de informação é a informação que você recebe após jogar uma moeda justa (probabilidade de 50% para cada lado). Tudo o resto pode ser reduzido a isso.
Mesmo se você usar um dispositivo com vários estados, ele sempre poderá ser reduzido a bits.