바이너리 (컴퓨터) 나 소수 (인간)가 아닌 다른베이스를 사용하는 이유는 무엇입니까?
컴퓨터는 결국 이진법으로 표현하고 인간은 십진법 표현을 선호합니다. 왜이 두베이스에 달라 붙지 않습니까?
바이너리 (컴퓨터) 나 소수 (인간)가 아닌 다른베이스를 사용하는 이유는 무엇입니까?
컴퓨터는 결국 이진법으로 표현하고 인간은 십진법 표현을 선호합니다. 왜이 두베이스에 달라 붙지 않습니까?
답변:
8 진 (base-8) 및 16 진 (base-16) 숫자는 대부분의 사람이 사용하는 2 진 (base-2) 시스템 컴퓨터와 10 진 (base-10) 시스템 사이의 적절한 절충안입니다.
컴퓨터는 여러 기호가 좋지 않으므로 밑줄 2 (2 개의 기호 만있는 경우)가 적합하지만 긴 문자열, 숫자가 많은 숫자는 문제가되지 않습니다. 인간은 여러 개의 기호를 사용하는 것이 좋지만 더 긴 줄을 기억하는 데는 좋지 않습니다.
8 진과 16 진은 많은 16 진수가 4 개의 이진수 ( )를 나타내며 모든 8 진 숫자가 3 ( 8 = 2 3 ). 16 진수가 바이트와 16/32/64 비트 숫자를 나타내는 데 쉽게 사용할 수 있기 때문에 8 진수보다 승리한다고 생각합니다.
편의성과 간결함을 위해 사용합니다.
16 진수와 10 월은 바이너리의 압축 된 표현입니다. 16 진수는 특히 압축 된 형태의 메모리 주소에 적합합니다. 모든 8 진수는 3 개의 이진 비트에 직접 매핑되고 모든 16 진수는 4 개의 이진 비트에 매핑됩니다. 이것은 밑 (8 및 16)이 2 ( 및 2 4 )의 거듭 제곱의 결과입니다 . 예를 들어, 바이너리 01101001 을 16 진 69로 쓰거나 10을 151 로 시작하여 0으로 확장 할 수 있습니다.
따라서 64 비트 메모리 주소가 필요하다고 가정하십시오. 64 개의 이진 비트를 모두 보거나 16 진수로 압축 할 수 있습니다. 주소가 동일하거나 연속적인지 확인하기 위해 몇 개의 주소를 비교할 필요가없는 경우가 종종 있습니다. 64 비트 또는 16 자리를 보시겠습니까?
다른 답변에서 이미 언급했듯이 목적과 제약에 따라 다른 표기법이있을 수 있습니다. 표기법은 실제로 일련의 문자로서의 인코딩이며, 알고리즘 및 데이터 구조 연구에서 우리가 수행하려는 작업에 따라 추상 개념, 목록 또는 집합을 인코딩 할 수있는 많은 방법이 있음을 알고 있습니다 . 이 경우 대부분 알고리즘 편의성입니다.
숫자 표현을 고려할 때도 마찬가지입니다. 컴퓨터 내에서 모든 것은 가장 낮은 수준의 이진이지만 일부 응용 프로그램에는 낯선 표현을 사용할 수 있습니다.
우리는 컴퓨터 밖에서 표현 된 가치의 종류에 관한 인간의 편의에 따라 인간이 이해할 수있는 모든 종류의 표현을 사용합니다. 이진 표현은 종종 너무 길고 구조화되지 않아 쉽게 읽고 쓸 수 없으므로 16 진 또는 8 진이됩니다. 선택은 정보가 이진 단어로 구성되는 방식과 관련이있을 수 있으며, 반드시 숫자를 나타 내기위한 것은 아닙니다.
그러나 숫자 , 즉 숫자의 표현 만을 고려할 때 , 생리학, 습관 및 편리함 이라는 주요 요인 을 이해하기 위해 다른 숫자 표현 시스템을 살펴볼 가치가 있습니다. 편의는 사용의 맥락에 따라 다양성을 만드는 주요 요소입니다.
문제의 본문은 컴퓨터에만 국한된 것으로 보이지 않으며, 인간은 몇 가지 다른 해법 시스템을 사용하고 있으며 여전히 사용하고 있습니다. 예를 들어 정수가 아닌 숫자는 말할 것도없고 긴 정수를 처리 할 때와 같이 일부 컴퓨터에서도 사용됩니다 .
첫 번째는 사람들이 단위로 수천 또는 수백만을 셀 때 10의 거듭 제곱이기 때문에 여전히 10 진수로 간주된다는 것입니다. 따라서 8 진수 또는 16 진수가 왜 이진의 변형으로 간주되지 않아야하는지 궁금 할 것입니다. 가능한 이유 중 하나는 숫자를 나타내는 데 사용되는 기호의 수일 수 있습니다 (다른 시스템에서 볼 수 있듯이 논쟁의 여지가있는 문제임).
그런 다음 인간과 관련하여 그들은 기본 5에서 quinary systems 이라고 불리는 여러 시스템을 사용 합니다 . 실제로, 이들 시스템의 대부분은 두 개의 염기를 가지고 있으며, 두 번째는 2 또는 4이며,베이스 5와 교번하여베이스 10 (10 진) 또는베이스 20 (가역)과 동일합니다. 그것이 어디에서 오는지 맞춰보세요 :)
이러한 이중 기저 시스템을 2 차 또는 4 차 5 차 시스템이라고합니다. 순수한 quinary는 거의 사용되지 않습니다.
로마 숫자는 이분법 (bi-quinary system)으로 간주 될 수 있습니다 (이는 산술을 수행하는 방법을 나타냅니다). 중국과 일본의 주판은 양분의 일을 사용합니다. Quadas-quinary는 Mayas에 의해 사용되었습니다.
시스템을 사용하는 이유는 아마도 많을 것입니다. 한 가지 좋은 이유는 그것이 첫 번째 로컬 디자인이었고 사람들이 이제 익숙해 졌기 때문입니다. 예를 들어, 영어를 사용하는 사람들이 왜 거리를 측정하려고 할 때 여전히 매우 이상한 계산 시스템을 사용하는지 궁금 할 것입니다. 번호 매기기가 아니라 여러 단위의 문제라고 주장 할 수는 있지만 매우 약한 말입니다. 숫자는 주로 사물을 측정하는 데 사용됩니다.
시스템을 유지해야하는 다른 이유는 주어진 상황에서 편리하기 때문입니다. 상이한 심볼의 수 또는 주판상의 위치와 충분히 많은 수를 형성하는데 필요한 심볼 발생의 수 사이에 상충 관계가있을 수있다. Base 2는 2 개의 별개의 기호로 작동하지만 많은 표현이있어 재료 표현에 불편할 수 있습니다. Vigesimal base 20에는 20 개의 기호와 사람들이 기억하지 못하는 매우 큰 곱셈표가 필요합니다. 그러나 2 차 또는 4 차 5 차 시스템은 특히 주판을 만드는 데 훨씬 더 관리하기 쉽습니다. 순수한 정수 시스템은 아마도 더 나을 것이지만 생리학 기반 습관과 직관에 위배됩니다. 그리고 우리가 더 잘 알지 못할 때 손가락을 사용하여 계산할 수 있다는 것이 항상 좋습니다.
그러나 이것이 전부는 아닙니다.
매우 오래되고 매우 일반적인 시스템 중 하나는 시간과 각도를 측정하는 데 사용되는 간지 시스템 입니다. 기본 60을 사용하지만 너무 많은 60 기호를 사용하지 않습니다. 따라서 다른 시스템을 사용하여 해당 신볼 (예 : 10 진수 시스템)을 나타냅니다.
원은 60도 각도에 해당하는 6 개 부분으로 나눌 수 있으며, 이는 정삼각형으로 만드는 것이 가장 간단합니다. 그런 다음 각 차수는 60 분의 호이며 각각 60 초로 나뉩니다.
Wikipedia 에 따르면
기원전 3 천년의 고대 수메르 인들로부터 기원을 받았고, 고대 바빌로니아 사람들에게 전해졌으며, 시간, 각도 및 지리적 좌표를 측정하기 위해 여전히 수정 된 형태로 사용됩니다.
기원을 고려할 때 수학이 유아기에 거의 들어 가지 않을 때 꽤 편리한 시스템이었습니다. 60 ° 각도는 쉽게 그릴 수있을뿐만 아니라 60 가지 요소가 많으므로 나머지없이 정수로 여러 방법으로 나눌 수 있습니다.
그러나 바빌로니아 사람들 의 비거시 삼항 체계 와 같이 60 세가 되는 다른 방법들이 있습니다.
왜 우리는 여전히 sexagesimal 시스템을 사용합니까? 나는 우리가 그것에 익숙해 졌다고 생각하며, 변화를 완전히 정당화하기에는 너무 많은 상충되는 문제가있을 수 있습니다.
번호 시스템과 단위 시스템 사이에는 많은 상호 작용이 있다는 점에 주목하는 것이 흥미 롭습니다. 그러나 이는 측정이 숫자의 주요 역할이기 때문에 예상됩니다. 이것은 메모리 크기에 대한 10 진수와 2 진 메트릭 사이의 반대에서 두드러 집니다 .
컴퓨터는 이진수를 이해하고 이진수로 숫자의 가중치는 2의 거듭 제곱이므로 숫자를 나타내는 자릿수가 숫자에 따라 커질 수 있습니다.
예를 들어 십진수 64는 7 비트로 표현할 수 있지만 5000을 나타내려면 13 비트가 필요합니다.
8 진수 및 16 진수 시스템은 2 진수를 나타내는 간단한 방법 입니다.
[What advantage is there to using a base different from ten or (a power of) two?]
- 또는 어떻게 다른 사람이 해석합니까 Why not stick to [bases 2 and 10]?
?