비트에 대한 대안이 있습니까?


42

가장 작은 데이터 단위로 비트에 대한 대안이 있습니까? 0 또는 1 일뿐 만 아니라 실제로 많은 가능한 상태를 유지하는 것입니까? 그런 수레를 저장하는 것이 더 자연스럽지 않습니까?


8
임의의 부동 소수점을 저장할 수 있으려면 무한한 상태가 필요하므로 이것이 불가능합니다.
ChrisF

2
@ChrisF : 제한된 양의 비트로 무한대의 수레를 표현할 수 있습니까?
사용자가 알 수 없음

11
@userunknown-안돼. 부동 소수점 산술이 오류가 발생하기 쉬운 이유입니다. 내가 말 하려고 하는 것은 더 많은 주를 갖는 것이 실제로 아무것도 해결하지 못할 것이라는 것이 었습니다.
ChrisF


5
무한한 수의 서로 다른 플로트를 고유하게 나타내는 것은 불가능합니다. 하나의 인피니 플로트를 고유하게 식별하려면 물리학 때문에 유한 한 공간에서 수행 할 수없는 무한한 정보를 저장해야합니다 . 주어진 볼륨에서 일정 금액을 초과하는 정보 저장 장치는 필요 밀도 가 MAX_SPEED (더 나은 '빛의 속도'로 알려진)에서 여행 할 경우에도 내용이 중력 유한 한 시간에 MAX_DENSITY로 분쇄 될 수 있도록를하십시오 검정 구멍 . CompSci 관련 내용은 en.wikipedia.org/wiki/Bekenstein_bound 를 참조하십시오 .

답변:


59

물론 이론적으로나 실제로 가능합니다.

이론적으로, 두 가지 대안이 있습니다 : 2 이외의 기본을 가진 디지털 숫자 시스템 (사실 우리가 알고있는 십진법은 그러한 시스템 중 하나입니다); 디지털이 아닌 숫자 시스템. 수학적으로 말하자면, 우리는 이산 대 연속 도메인에 대해 이야기하고 있습니다.

실제로 두 가지 옵션을 모두 살펴 보았습니다. 초기 디지털 컴퓨터 (예 : ENIAC) 중 일부는 현재 유비쿼터스 이진 인코딩 대신 십진 인코딩을 사용했습니다. 3 진과 같은 다른 염기도 실현 가능해야합니다. 밀교 프로그래밍 언어 Malbolge는 이론적 인 3 진 컴퓨터를 기반으로합니다. 대부분 풍자적이지만 작동하지 않아야하는 기술적 이유는 없습니다. 연속 도메인 저장 및 처리는 역사적으로 아날로그 컴퓨터에서 수행되었으며, 여기에서 진동 신호의 주파수 및 / 또는 진폭으로 수량을 인코딩 할 수 있으며 이러한 신호에 모든 종류의 변조를 적용하여 계산을 수행합니다. 오늘날 양자 컴퓨팅은 연속 스토리지 셀의 이론을 다시 흥미롭게 만듭니다.

어느 쪽이든, 이론적으로 가장 작은 정보 단위 인 비트는 여전히 그렇습니다. 다른 대안이 단일 예 / 아니오보다 더 많은 정보를 인코딩 할 수 있으며 아무도 더 작은 이론 단위를 내놓지 않았기 때문에 (그리고 나는 그것이 일어날 것으로 기대하지 않습니다) 언제든지).


17
@Dokkat : 아날로그 테이프와 같은 연속 도메인 스토리지는 이론적으로는 훌륭하지만 실제로는 복구 할 수없는 노이즈와 성능 저하로 인해 디지털 컴퓨터를 처음 사용하는 이유 중 하나입니다.
tdammers

19
정보 이론에서는 1 비트 미만의 정보를 전달하는 것이 가능합니다. 기본 아이디어는 두 상태가 균등할 경우 1 비트의 데이터에만 1 비트의 정보 만 보유한다는 것입니다. 그 정의에 따르면, 사하라 사막에서“오늘 비가 왔습니까?”라는 질문에 대한 대답은“아니오”입니까? 거의 항상 정답이므로 1 비트 미만의 정보를 전달합니다.
Michael Borgwardt

9
@Dokkat은 복잡한 아날로그 수량을 모델링하는 데 일반적으로 사용되었지만 '디지털'컴퓨터는 아날로그 컴퓨터의 제어 시스템이었습니다. 실제로 그것은의 해상도와 아날로그 회로를 구축하기는 어렵습니다double
마틴 베켓

5
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding실제로 십진법 인코딩은 오늘날에도 여전히 사용되고 있습니다. BCD 라고 합니다. 대부분의 컴퓨터에서 BIOS는 십진법 날짜 와 가장 저렴한 계산자뿐만 아니라 바이너리를 사용하고 BCD를 사용하는 것보다 BCD의 모든 것을 수행 하는 데 필요한 회로가 적기 때문에 (즉, 저렴합니다) 이진수를 10 진수로 변환합니다.
BlueRaja-대니 Pflughoeft

3
@tdammers가 말했듯이 아날로그 신호를 사용하여 단 정밀도 부동 소수점조차도 일치시키기가 어렵습니다. 32 비트 플로트는 효과적으로 24 비트 정밀도를 갖습니다. 비슷한 노이즈를 가진 아날로그 회로는 비싸고 전력이 많이 걸리며 느리며 환경에 매우 민감합니다.
오는 폭풍

26

기본적으로 센서에 사용되는 아날로그 신호를 설명하지만 내부 계산에는 거의 사용되지 않습니다. 문제는 잡음으로 인해 품질이 저하되고, 통신하기 어려운 기준점을 매우 정확하게 교정해야하며, 전송은 멀리 갈수록 강도가 떨어지기 때문에 문제가됩니다.

아날로그 컴퓨팅에 관심이 있으시면, 대부분의 저학년 "전자 입문"수업을 통해 op-amp integrators 같은 것들을 만들 수 있습니다 . 공식적인 교육 없이도 쉽게 구축 할 수 있습니다.

동일한 노드에 여러 디지털 상태를 저장할 수도 있습니다. 예를 들어, 0-2.5V가 0이고 2.5-5.0V가 1이 아닌 세 번째 상태를 사이에 추가 할 수 있습니다. 그러나 많은 복잡성을 추가하고 소음에 대한 민감성을 크게 증가시킵니다.


아날로그 컴퓨팅은 일반적으로 사용되었지만 궁극적으로는 디지털이 더 정확할 수 있습니다. 값을 나타 내기 위해 메모리에 몇 비트를 더 사용하는 것은 노이즈를 몇 dB 낮게 (3 비트 ~ 20dB) 낮추고 어떤 시점 (속도에 따라 다름)에는 물리적으로 불가능한 것과 비교할 때 아주 간단합니다.
Nick T

나는 여기서 아날로그 컴퓨팅과 예제에 중점을 둡니다. 나는 엄격하게 디지털 과학 배경에서 온 아날로그 컴퓨팅이 무엇인지 항상 알지 못했습니다. 인터넷 검색을 통해 많은 예를 얻을 수 있습니다. 프리즘이 푸리에 변환을 "계산"한다는 것을 기억합니다. 들어오는 빛을 구성 주파수로 나누기 때문입니다. (FT 계산 요구 사항의 관점에서) 0 에너지 로이 ​​작업을 매우 빠르게 수행합니다. 물론 결과로 무언가를하려면 디지털화가 필요할 것입니다.
Paul

사이버네틱스의 초기 저자이자 제어 이론 분야의 저자 인 @NickT Norbert Wiener는 자신의 저서에서 실험실, 연구원 및 산업계가 바이너리를 선택하게 한 아날로그 등가에 비해 바이너리 회로의 비용이 낮다는 사실을 회상했다.
Christophe

20

이것을 큐비 트라고하며 양자 컴퓨터에서 사용됩니다. wikipedia 항목 에서 이에 대한 자세한 정보를 찾을 수 있습니다 . 안정적이고 경제적으로 그러한 컴퓨터를 만들기 위해 연구가 진행되고 있습니다.


1
이것은 내 머리가 읽는 것을 아프게합니다 ...
Ryathal

나는 qubit이 어떻게 작동하는지 잘 모르겠지만 (나중에 업데이트 할 것이기 때문에 나중에 업데이트 할 것입니다) qubits는 현재 기술에 비실용적이지만 그 개념은 그렇지 않습니다. 예를 들어, 유리를 채우는 물의 양으로 '플로팅'비트를 물리적으로 나타내고 균형을 사용하여 측정 할 수 있습니다.
Dokkat

11
Nitpicking : qubit은 0과 1 사이의 상태 유지하지 않습니다 . 여전히 0 또는 1이지만 동시에 여러 상태를 가질 수 있습니다 . ( "
반죽 지 않았지만

7
@Ryathal 그것은 실제로 좋은 징조입니다. "양자 이론에 충격을받지 않은 사람은 그것을 이해하지 못했습니다." -Niels Bohr
Dan Neely

1
어떤 이유로 나는 항상 큐빗을 연한 파란색 또는 분홍색의 Tribbles로 묘사합니다.
Wayne Werner

17

정확성의 문제

비트를 사용하는 한 가지 이유는 정보를 정확하게 저장하고 검색하는 데 도움이되기 때문입니다.

실제 세계는 아날로그 이므로 컴퓨터가 전달하거나 저장하는 모든 정보는 궁극적으로 아날로그 입니다. 예를 들어, 전선의 특정 전압 전류 또는 디스크의 특정 강도의 자기 전하 또는 레이저 디스크의 특정 깊이의 구덩이.

문제는 아날로그 정보를 얼마나 정확하게 측정 할 수 있습니까? 와이어의 전류가 다음과 같이 임의의 십진수로 해석 될 수 있다고 상상해보십시오.

  • 1 ~ 10 볼트 : 0
  • 10 ~ 20 볼트 : 1
  • 20 ~ 30 볼트 : 2

이 시스템은 몇 펄스의 전류로 많은 양의 데이터를 전달할 수 있습니다. 그러나 문제가 있습니다. 전압이 무엇인지 확신해야합니다. 온도 나 자석 또는 우주 광선 또는 기타 변동이 발생하는 경우 잘못된 숫자를 읽을 수 있습니다. 더 세밀하게 측정할수록 위험이 커집니다. 1 밀리 볼트의 차이가 크다고 상상해보십시오!

대신, 우리는 일반적으로 디지털 해석을 사용합니다 . 임계 값을 초과하는 모든 것은 사실이며 그 미만인 것은 모두 거짓입니다. "현재 어떤 것이 있습니까?"와 같은 질문을 할 수 있습니다. " 정확히 얼마나 많은 전류가 있습니까?"

우리는 "올바른 야구장"에 있어야하기 때문에 각 개별 비트를 자신있게 측정 할 수 있습니다. 그리고 많은 비트를 사용함으로써 우리는 여전히 많은 정보를 얻을 수 있습니다.


1
공정하게 말하면, 디지털 회로는 확실히 참 또는 거짓 인 측정 가능 값과 "정의되지 않은"상태 사이를 정의해야합니다. 3.3 / 5V 로직에서 <0.8V는 false,> 2.5V는 true 일 수 있습니다. 신호가 해당 범위를 벗어나면 잡음이 여전히 문제가됩니다. 예를 들어, NPN 트랜지스터를 사용하여 신호를 낮게 낮추려고하면 특정 요인에 따라 0.55 ~ 0.7V까지 낮아질 수 있습니다. 함께 할 것이 많지 않습니다. 더 정의 된 범위를 정의 할 때 더 어렵게 만듭니다.
Scott Whitlock

2
@ScottWhitlock은 사양에 불과합니다. 핀이 HiZ의 등을 수용하도록 설계되어 있지 않으면, 그것은 한다 (1 또는 0으로 입력을 해석 할 수 있고, 그 점을 정의 영역은 기능하지 않은 것 등의 배치, 공급 전압, 제조, 온도에 따라 달라질 수있다 퍼지 논리를 위해 그것을 활용할 수 있다고 제안하는 것 같습니다).
Nick T

1
@NickT : 정의되지 않은 영역은 큰 왜곡 (일반적인 오류 수정으로 복구 할 수 없을 정도로 큰 왜곡)이 있으며 가능한 재전송이 필요함을 나타냅니다.
Lie Ryan

2
@LieRyan, 당신은 그러한 사양이 다루는 것 (물리적 레이어)보다 훨씬 높은 수준을 고려하고 있습니다. 정의되지 않은 영역은 동작 (비트를 읽는 방법)이 정의되지 않았으며 보장되지 않음을 의미합니다. 여전히 잘 작동 할 수 있습니다.
Nick T


3

우리에게는 더 자연스러 울지 모르지만 디지털 회로와 프로그래밍 언어로 바이너리가 선택된 특별한 이유가 있습니다. 두 개의 상태가있는 경우 0V와 5V의 두 전압 설정 만 구별하면됩니다. 기수 (베이스)가 추가로 증가 할 때마다 그 범위를 더 나누어서 서로 구별되는 값을 가져와야합니다. 전압 범위를 늘릴 수는 있지만 회로를 녹이는 불쾌한 습관이 있습니다.

디지털 회로에서 하드웨어 유형을 변경하려면 옵션이 더 다양합니다. 기어는 내열성이 훨씬 뛰어나고 전자 전하보다 훨씬 다르기 때문에 기계식 컴퓨터에 사용되는 십진법입니다. 다른 곳에서 언급 된 양자 컴퓨터는 다른 방법으로 처리합니다. 광학 컴퓨터는 우리가 이전에는 다루지 않았던 일을 할 수 있으며 자기 컴퓨터 도 가능합니다.


2

요즘에는 어느 정도의 상태를 유지하거나 아날로그 데이터로 작업 할 수있는 아이템을 만들 수 있다고 생각합니다. 전체 시스템을 구축하고 모든 기능적이고 프로그래밍 가능한 아키텍처를 구현하기 위해 모든 논리 구성 요소를 실행하는 것은 많은 작업과 회사가이 작업을 수행하는 재정적 위험이 될 수 있습니다.

ENIAC 은 10 자리 링 카운터를 사용하여 숫자를 저장하는 마지막 아키텍처 라고 생각 합니다. 나는 이것에 대해 틀릴 수 있고 확실하지 않지만, 이것이 기계의 다른 부분에 얼마나 많은 영향을 미쳤는가.


2

스토리지는 미래로의 전송으로 간주 될 수 있으며 연속 (아날로그) 미디어의 모든 전송 문제가 적용됩니다.

이러한 상태를 저장하는 것은 사소한 일 (3 방향 스위치 또는 일종의 그리드) 일 수 있으며 이러한 상태를 실제로 저장하는 것은 많은 답변이 다루는 한 가지 문제입니다.

저의 주요 관심사는이 저장된 상태가 어떻게 인코딩되는지에 관한 것이며 비트가 실제 정확도를 유지하면서 필요한 정확도에 따라 비트를 계속 추가하기에 충분하기 때문에이 작업이 바보가 될 가능성이 높습니다.

진정한 연속 데이터는 이런 방식으로 저장하는 것이 불가능하지만,이를 계산하는 방정식

1/3

저장할 수 있습니다.


2

단서암시가 조금 이상 정보의 작은 조각이다. 비트의 명확한 값을 설정하려면 일반적으로 몇 가지 단서가 필요합니다. Inklings는 더 나쁩니다 : 얼마나 많은 수를 추가하더라도 여전히 결과 비트의 값을 알 수 없습니다.

더 심각하게, 기본 단위가 n> 2 인 n 상태 중 하나를 가질 수있는 다중 값 논리 가 있습니다. 이러한 단위는 앞 단락의 의미에서 비트보다 적은 정보를 전달하지만 정보 이론에서 비롯된 것으로 간주 할 수 있습니다. 더 많은 것을 가지고 다녀야한다는 관점에서 말입니다. 예를 들어, 4 값 논리의 단일 값이 가질 수있는 동일한 양의 정보를 나타내려면 2 비트가 필요합니다.


1

최적의 숫자 기준은 e 이지만 디지털 전자에서 숫자를 나타내는 가장 간단한 방법은 두 가지 상태 (고전압 = 1, 저전압 = 0)이므로 이진수 표시가 선택되었습니다.


nate 도 언급하지 않고 이야기 ? 부끄러움
Ben Voigt

1
@BenVoigt 응? nat 란 무엇입니까 ? :) Google은 주제에 잘 맞지 않는 이상한 일을 말했습니다.
BЈовић

@BenVoigt 어쩌면 Nat (정보)를 언급하고 있었 습니까? nat ...는 비트를 정의하는 2와 2의 거듭 제곱이 아니라 자연 대수와 e의 거듭 제곱을 기반으로하는 정보 또는 엔트로피의 로그 단위입니다.
CVn

@ MichaelKjörling : 바로 그거야.
Ben Voigt

0

가능한 작은 단위의 데이터가 있습니다. 나는 그것의 공식 이름을 모른다, 그것을 유엔이라고 부르 자.

비트는 "바이너리 digIT"의 스마트 한 콤보 단어로서 두 가지 가능한 상태를 가지고 있습니다. 따라서 가능한 상태가 하나 뿐인 일종의 숫자가 있어야합니다.

그게 무슨 뜻인지 봅시다. 그것은 당신이 작업 할 수있는 제로 만 가질 것임을 의미합니다.

당신은 어떻게 셀 것입니까? 모든 x-base 시스템에서 숫자가 부족해질 때까지 값을 증가시킨 다음 숫자를 추가하여 숫자를 형성합니다. 숫자가 하나뿐이면 즉시 숫자가 부족합니다.

0 = 0 1 = 00 2 = 000 등

이것은 더 자연 스럽습니다. 더 많을수록 좋습니다! 이산 수에 관계없이 완벽하게 매핑됩니다. 감자는 몇 개입니까? 00000 감자 4 마리입니다. 잠깐만 ... 그건 하나 하나 마음에 들지 않으면 0의 값을 1로 재정의 할 수 있습니다. 그렇다면 그것은 자연 스럽습니다 : 0이 없음, 1이 1, 2가 2, 등등.

그러나 솔리드 스테이트 머신에는 비실용적입니다. 숫자는 물리적으로 배치하고 제거해야하며 확장이 잘되지 않습니다.


1
그러나 기본적으로 0을 "없음"으로, 1을 0으로 인코딩했기 때문에 데이터 단위로 사용할 수 없습니다. 여전히 비트입니다.
DeadMG

이진이 아니며 단항입니다. 요점은 데이터 요소가 2 개가 아닌 하나의 상태 만 갖는 것입니다. 존재 또는 부재는 상태가 아니며 요소의 상태는 항상 동일하므로 단항 숫자입니다. 기본적으로 탈리 마크 시스템을 설명하고 있습니다.
Martin Maat

-1

명확한 영어 참조를 찾을 수는 없지만 정보 이론 클래스 에서 기억 하는 한 비트 는 정보의 기본 단위입니다. 약간의 정보는 공정한 동전을 던진 후에받는 정보입니다 (각 측면에서 50 % 확률). 다른 모든 것은 이것으로 줄일 수 있습니다.

여러 상태의 장치를 사용하더라도 항상 비트로 줄일 수 있습니다.


-1

대자연이 작동하는 방식에 가깝게 자연을 정의하면 가장 자연스럽게 정보를 인코딩하는 방법은 아데닌, 사이토 신, ​​구아닌 및 티민의 DNA와 같은 조합입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.