Jump to content

Binary number

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning
(Redirected from Base 2)

이진수(binary number)는, 오직 두 기호: 전형적으로 "0" (영)과 "1" (일)을 사용하는, 밑수-2 숫자-표시 시스템(base-2 numeral system) 또는 이진 숫자-표시 시스템(binary numeral system), 수학적 표현의 방법에서 표현되는 숫자입니다.

밑수-2 숫자-표시 시스템은 2기수(radix)를 갖는 위치적 표기법입니다. 각 자릿수는 비트(bit), 또는 이진 자릿수로 참조됩니다. 논리 게이트를 사용하는 디지털 전자 회로(digital electronic circuitry)에서 그것의 쉬운 구현 때문에, 이진 시스템은 다양한 인간의 통신 기술을 통해, 물리적 구현에서 언어의 단순성과 잡음 내성 때문에, 선호되는 사용 시스템으로, 거의 모든 현대 컴퓨터와 컴퓨터-기반 장치에서 사용됩니다.[1]

History

현대 이진 숫자 시스템은 16세기와 17세기에 Thomas Harriot, Juan Caramuel y Lobkowitz, 및 Gottfried Leibniz에 의해 유럽에서 연구되었습니다. 어쨌든, 이진수와 관련된 시스템은 고대 이집트, 중국, 및 인도를 비롯한 여러 문화권에서 일찍 나타나 왔습니다. 라이프니츠는 특히 중국인 역경(I Ching)에 의해 영감을 받았습니다.

Egypt

Arithmetic values thought to have been represented by parts of the Eye of Horus

고대 이집트의 서기관들은 그들 분수에 대해 두 가지 다른 시스템을 사용했습니다: 이집트 분수 (이진 숫자 시스템과 관련이 없음)와 호루스-눈(Horus-Eye) 분수 (많은 수학 역사가들이 이 시스템에 사용된 기호를 배열하여 호루스의 눈을 형성할 수 있다고 믿었기 때문에 그렇게 불렀지만, 이것은 논쟁 꺼리입니다).[2] 호루스-눈 분수는 곡물, 액체, 또는 다른 측정의 분수 양에 대해 이진 숫자-세는 시스템이며, 이것에서 헤카트(hekat)의 분수는 이진 분수 1/2, 1/4, 1/8, 1/16, 1/32, 및 1/64의 합으로 표시됩니다. 이 시스템의 초기 형식은 대략 기원전 2400년 이집트 제5왕조의 문서에서 찾아볼 수 있고, 그것의 완전하게 발달된 상형문자는 대략 기원전 1200년 이집트 19왕조로 거슬러 올라갑니다.[3]

고대 이집트의 곱셈에 사용된 방법도 이진수와 밀접한 관련이 있습니다. 이 방법에서, 한 숫자에 두 번째 숫자를 곱하는 것은 일련의 단계에 의해 수행되며 이것에서 값 (처음에는 두 숫자 중 첫 번째 숫자)은 두 배가 되거나 그것에 다시 첫 번째 숫자를 더합니다; 이들 단계가 수행되는 순서는 두 번째 숫자의 이진 표시로 제공됩니다. 이 방법은, 예를 들어, 기원전 1650년경에 작성된 린드 수학적 파피루스(Rhind Mathematical Papyrus)에서 사용되는 것을 볼 수 있습니다.[4]

China

Daoist Bagua

역경(I Ching)은 중국에서 기원전 9세기로 거슬러 올라갑니다.[5] 역경에서 이진 표기법은 사진법(quaternary) 점술(divination) 기법을 해석하기 위해 사용됩니다.[6]

그것은 음과 양(yin and yang)의 도교적 이중성을 기반으로 합니다.[7] 3-비트와 6-비트 이진 숫자-표시와 유사한 팔괘(Eight trigrams (Bagua))64 헥사그램(64 hexagrams ("sixty-four" gua))의 집합은 적어도 고대 중국의 주나라 때부터 사용되었습니다.[5]

송나라 학자 소 옹(Shao Yong, 1011–1077)은 헥사그램을 현대 이진수와 닮은 형식으로 재배열했지만, 그의 배열을 수학적으로 사용하려는 의도는 없었습니다.[6] 소 옹의 정사각형에서 단일 헥사그램의 꼭대기 위에 최하위 비트를 보고 실선이 0이고 점선이 1을 갖는 오른쪽 아래에서 왼쪽 위까지 또는 실선이 1이고 점선이 0을 갖는 왼쪽 위에서 오른쪽 아래로 행을 따라 읽는 헥사그램은 0에서 63까지의 수열로 해석될 수 있습니다.[8]

India

인도 학자 핑갈라 (기원전 2세기경)는 작시법(prosody)을 설명하기 위한 이진 시스템을 개발했습니다.[9][10] 그는 짧은 음절과 긴 음절의 형태로 이진수를 사용하여 (후자의 길이는 두 개의 짧은 음절과 같음), 그것을 모스 부호(Morse code)와 유사하게 만들었습니다.[11][12] 그것들은 laghu (light)와 guru (heavy) 음절로 알려져 있었습니다.

핑갈라의 힌두교 고전 Chandaḥśāstra (8.23)의 제목의 책은 각 미터에 고유한 값을 부여하기 위해 행렬의 형성을 설명합니다. "Chandaḥśāstra"는 문자 그대로 산스크리트어로 science of meters으로 번역됩니다. 핑갈라 시스템에서 이진 표현은 현대 위치적 표기법(positional notation)의 이진수에서 처럼 왼쪽이 아니라 오른쪽으로 향해 증가합니다.[11][13] 핑갈라의 시스템에서, 숫자는 0이 아닌 1부터 시작합니다. 네 개의 짧은 음절 "0000"은 첫 번째 패턴이고 값 1에 해당합니다. 자리 값(place values)의 합에 일을 더함으로써 숫자 값을 구합니다.[14]

Other cultures

프랑스령 폴리네시아에서 망가레바 섬 주민들은 1450년 이전에 잡종 이진-십진 시스템을 사용했습니다.[15] 이진 음정을 갖는 슬릿 드럼은 아프리카와 아시아 전역에서 메시지를 인코딩하기 위해 사용됩니다.[7] 역경과 유사한 이진 조합의 집합은 Ifá와 같은 전통적인 아프리카 점술 시스템과 중세 서양 풍수에서도 사용되었습니다.

Western predecessors to Leibniz

13세기 후반에 라몬 유이(Ramon Llull)는 당시 인간 지식의 모든 각 가지에서 모든 지혜를 설명하려는 야심을 품었습니다. 이를 위해, 그는 컴퓨팅 과학과 인공 지능의 전조로 여겨져 온 여러 가지 간단한 기본 원칙 또는 카테고리의 이진 조합을 기반으로 일반적인 방법 또는 'Ars generalis'를 개발했습니다.[16]

1605년 프랜시스 베이컨(Francis Bacon)은 알파벳 문자를 이진 자릿수의 수열로 줄일 수 있는 시스템에 대해 논의했으며, 이는 그런-다음 임의의 무작위 텍스트에서 글꼴에서 거의 눈에 띄지 않는 변형으로 인코딩될 수 있었습니다.[17] 이진 인코딩의 일반 이론에서 중요하게, 그는 이 방법이 임의의 대상에 사용될 수 있다고 덧붙였습니다: 그들 대상이 오직 두겹; 벨, 트럼펫, 조명 및 횃불, 머스켓의 보고, 및 자연처럼 임의의 악기에 의한 차이가 있다는 조건 아래에서".[17] (베이컨의 암호를 참조하십시오.)

1617년 존 네이피어(John Napier)는 문자에 의해 비-위치적 표현을 사용하여 이진 계산을 수행하기 위해 그가 위치 산술(location arithmetic)이라고 부르는 시스템을 설명했습니다. 토마스 해리엇(Thomas Harriot)은 이진법을 포함하여 여러 위치적 번호-매기는 시스템을 조사했지만, 그의 결과를 발표하지는 않았습니다; 그것들은 나중에 그의 논문에서 발견되었습니다.[18] 아마도 유럽에서 그 시스템의 첫 번째 출판은 1700년에 Juan Caramuel y Lobkowitz에 의한 것이었습니다.[19]

Leibniz and the I Ching

Gottfried Leibniz

라이프니츠는 1679년에 이진 번호-매기기를 연구했습니다; 그의 연구는 그의 기사 Explication de l'Arithmétique Binaire (1703년 출판)에 나타납니다. 라이프니츠 기사의 전체 제목은 영어로 "Explanation of Binary Arithmetic, which uses only the characters 1 and 0, with some remarks on its usefulness, and on the light it throws on the ancient Chinese figures of Fu Xi"로 번역됩니다.[20] 라이프니츠의 시스템은 현대 이진 숫자-표시 시스템처럼 0과 1을 사용합니다. 라이프니츠의 이진 숫자-표시 시스템의 예시는 다음과 같습니다:[20]

0 0 0 1   numerical value 20
0 0 1 0   numerical value 21
0 1 0 0   numerical value 22
1 0 0 0   numerical value 23

라이프니츠는 역경의 헥사그램을 이진 계산법의 증거로 해석했습니다.[21] 친중파(Sinophile)로서, 라이프니츠는 역경을 알고 있었고, 그 헥사그램이 0에서 111111까지의 이진수에 어떻게 대응하는지 매혹적으로 언급했었고, 이 매핑이 그가 존경하는 일종의 철학적 수학(mathematics)에서 중국의 주요 성취의 증거라고 결론지었습니다. 그 관계는 언어의 그의 보편적 개념 또는 특성 보편화(characteristica universalis)의 중심 아이디어였으며, 이는 현대 기호적 논리(modern symbolic logic)를 형성하는 데 고틀롭 프레게(Gottlob Frege)조지 부울(George Boole)과 같은 그의 후계자들이 밀접하게 뒤따를 대중적인 아이디어였습니다.[22] 라이프니츠는 1685년 선교사로 중국을 방문한 프랑스 예수회 요아킴 부베(Joachim Bouvet)와의 접촉을 통해 처음으로 역경를 접하게 되었습니다. 라이프니츠는 역경 헥사그램을 기독교인으로서 자신의 종교적 신념의 보편성(universality)을 확인하는 것으로 보았습니다.[21] 이진 숫자-표시는 라이프니츠 신학의 중심이었습니다. 그는 이진수가 creatio ex nihilo 또는 무로부터의 창조라는 기독교 사상을 상징한다고 믿었습니다.[23]

이교도들에게 전하기 쉽지 않은 [개념]은, 신의 전능하신 능력을 통한 무로부터의 창조입니다. 이제 세상의 어떤 것도 숫자의 기원보다 이 힘을 더 잘 표현하고 보여줄 수 없다고 말할 수 있는데, 왜냐하면 여기에서 일(One)과 영 또는 무(Zero or Nothing)라는 단순하고 꾸밈없는 표현을 통해 제시되기 때문입니다.

— Leibniz's letter to the Duke of Brunswick attached with the I Ching hexagrams[21]

Later developments

George Boole

1854년에, 영국의 수학자 조지 부울(George Bool)은 부울 대수(Boolean algebra)로 알려지게 될 논리(logic)대수적 시스템을 자세히 설명하는 획기적인 논문을 발표했습니다. 그의 논리적 계산법은 디지털 전자 회로 설계에 중요한 역할을 했습니다.[24]

1937년에, 클로드 섀넌(Claude Shannon)은 역사상 최초로 전자 릴레이와 스위치를 사용하여 부울 대수와 이진 산술을 구현했던 석사 논문을 MIT에서 발표했습니다. A Symbolic Analysis of Relay and Switching Circuits라는 제목의 섀넌의 논문은 본질적으로 실용적인 디지털 회로 설계를 기반으로 합니다.[25]

1937년 11월에, 당시 벨 연구소에서 일하던 조지 스티비츠(George Stibitz)는 "모델 K" (그가 컴퓨터를 조립했었던 "Kitchen")라고 이름 붙인 릴레이-기반 컴퓨터를 완성했으며, 이 컴퓨터는 이진 덧셈을 사용하여 계산되었습니다.[26] 벨 연구소는 1938년 말 시티비츠와 함께 완전한 연구 프로그램을 승인했습니다. 1940년 1월 8일에 완성된 그들의 복소수 컴퓨터는 복소수를 계산할 수 있었습니다. 1940년 9월 11일 다트머스 대학(Dartmouth College)에서 열린 미국 수학 학회 회의 시연에서, 스티비츠는 텔레타이프에 의해 전화선을 통해 복소수 계산기 원격 명령을 보낼 수 있었습니다. 그것은 전화선을 통해 원격으로 사용된 최초의 컴퓨팅 기계였습니다. 시연을 목격했던 회의 참가자 중 일부는 John von Neumann, John Mauchly, 및 Norbert Wiener였으며, 그들 회고록에 그 내용을 기록했습니다.[27][28][29]

1935년에서 1938년 사이에 Konrad Zuse에 의해 설계되고 제작되었던 Z1 컴퓨터부울 논리이진 부동 점 숫자를 사용했습니다.[30]

Representation

임의의 숫자는 비트 (이진 자릿수)의 수열로 표시될 수 있으며, 이는 차례로 두 개의 서로 배타적인 상태에 있을 수 있는 임의의 메커니즘에 의해 표시될 수 있습니다. 다음 임의의 기호 행은 이진 숫자 값 667로 해석될 수 있습니다:

1 0 1 0 0 1 1 0 1 1
| | | | | |
y n y n n y y n y y
A binary clock might use LEDs to express binary values. In this clock, each column of LEDs shows a binary-coded decimal numeral of the traditional sexagesimal time.

각 경우에서 표시되는 숫자 값은 각 기호에 할당된 값에 따라 다릅니다. 컴퓨팅 초기 시절에서, 스위치, 천공 구멍, 및 천공 종이 테이프가 이진 값을 나타내기 위해 사용되었습니다.[31] 최신 컴퓨터에서, 숫자 값은 두 가지 다른 전압에 의해 표시될 수 있습니다. 자기 디스크에서, 자기 극성(magnetic polarities)이 사용될 수 있습니다. "긍정", "예", 또는 "켜짐" 상태가 반드시 일의 숫자 값과 동등하지는 않습니다; 그것은 사용 중인 아키텍처에 따라 다릅니다.

아라비아 숫자-표시(Arabic numerals)를 사용하여 숫자-표시의 관례적인 표현을 유지함에서, 이진수는 공통적으로 기호 01을 사용하여 씁니다. 쓸 때, 이진 숫자-표시는 종종 그것들의 밑수, 또는 기수(radix)를 나타내기 위해 아래-첨자, 접두 또는 접미됩니다. 다음 표기법은 동등합니다:

  • 100101 binary (explicit statement of format)
  • 100101b (a suffix indicating binary format; also known as Intel convention[32][33])
  • 100101B (a suffix indicating binary format)
  • bin 100101 (a prefix indicating binary format)
  • 1001012 (a subscript indicating base-2 (binary) notation)
  • %100101 (a prefix indicating binary format; also known as Motorola convention[32][33])
  • 0b100101 (a prefix indicating binary format, common in programming languages)
  • 6b100101 (a prefix indicating number of bits in binary format, common in programming languages)
  • #b100101 (a prefix indicating binary format, common in Lisp programming languages)

말할 때, 이진 숫자-표시는 보통 십진 숫자-표시와 그것들을 구별하기 위해 한 자릿수씩 읽습니다. 예를 들어, 이진 숫자-표시 100은 이진수 본성을 명확하게 하고, 정확성을 위해, 일 백이 아니라 일 영 영으로 발음됩니다. 이진 숫자-표시는 100은 4라는 값을 나타내므로, 숫자-표시를 일 백 (완전하게 다른 값이나 양을 나타내는 단어)으로 참조하는 것과 혼란스러울 수 있습니다. 대안적으로, 이진 숫자-표시 100은 "4" (올바른 )로 읽을 수 있지만, 이것이 이진수 본성을 명백하게 만들지 못합니다.

Counting in binary

Decimal
number
Binary
number
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

이진수에서 세는 것은 임의의 다른 숫자 시스템에서 세는 것과 비슷합니다. 한 자릿수로 시작하여, 각 기호를 통해 오름차순으로 세는 것이 진행됩니다. 이진 세는 것을 검토하기 전에, 참조 프레임으로 보다 친숙한 십진 세는 시스템을 간략하게 논의하는 것이 유용합니다.

Decimal counting

십진법 세는 것은 0에서 9까지 10개의 기호를 사용합니다. 세는 것은 종종 첫 번째 자릿수(first digit)라고 하는 최소 유효 자릿수 (가장 오른쪽 자릿수)의 증분 대체로 시작합니다. 이 위치에 사용할 수 있는 기호가 소진될 때, 최소 유효 자릿수가 0으로 재설정되고, 더 높은 유효 자리의 다음 자릿수 (왼쪽으로 한 위치)가 증가되고 (overflow), 낮은-순서의 증분 대체가 재개됩니다. 이 재설정과 오버플로 방법은 각 유효 자릿수에 대해 반복됩니다. 세는 것은 다음과 같이 진행됩니다:

000, 001, 002, ... 007, 008, 009, (맨 오른쪽 자릿수는 영으로 재설정되고, 그것의 왼쪽 자릿수는 증가됩니다)
010, 011, 012, ...
   ...
090, 091, 092, ... 097, 098, 099, (맨 오른쪽 두 자릿수가 영들로 재설정되고, 다음 자릿수는 증가됩니다)
100, 101, 102, ...

Binary counting

This counter shows how to count in binary from numbers zero through thirty-one.

이진수 세는 것은 정확히 동일한 절차를 따르며, 증분 대체는 두 개의 기호 01만 사용할 수 있다는 점을 제외하면 최소 유효 자릿수 또는 비트 (가장 오른쪽 자릿수, 첫 번째 비트라고도 불림)로 시작합니다. 따라서, 비트가 이진수로 1에 도달한 후, 증가는 비트를 0으로 재설정하지만 왼쪽에 있는 다음 비트도 증가시킵니다.

A party trick to guess a number from which cards it is printed on uses the bits of the binary representation of the number. In the SVG file, click a card to toggle it
0000,
0001, (맨 오른쪽 비트가 시작되고, 그 다음 비트가 증가됩니다)
0010, 0011, (맨 오른쪽 두 비트가 시작되고, 그 다음 비트가 증가됩니다)
0100, 0101, 0110, 0111, (맨 오른쪽 세 비트가 시작되고, 그 다음 비트가 증가됩니다)
1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ...

이진 시스템에서, 각 비트는 2의 증가하는 거듭제곱을 나타내며, 가장 오른쪽 비트는 20, 다음 비트는 21, 그 다음에는 22, 등을 나타냅니다. 이진수의 값은 각 "1"비트에 의해 나타내는 2의 거듭제곱의 합입니다. 예를 들어, 이진수 100101은 다음과 같이 십진수 형식으로 변환됩니다:

1001012 = [ ( 1 ) × 25 ] + [ ( 0 ) × 24 ] + [ ( 0 ) × 23 ] + [ ( 1 ) × 22 ] + [ ( 0 ) × 21 ] + [ ( 1 ) × 20 ]
1001012 = [ 1 × 32 ] + [ 0 × 16 ] + [ 0 × 8 ] + [ 1 × 4 ] + [ 0 × 2 ] + [ 1 × 1 ]
1001012 = 3710

Fractions

이진 산술에서 분수는 2가 분모(denominator)에서 유일한 소수 인수(prime factor)인 경우에만 종료됩니다. 결과적으로, 1/10은 유한한 이진 표현을 가지지 않습니다 (10은 소수 인수 25를 가집니다). 이로 인해 부동-점 산술(floating-point arithmetic)에서 10 × 0.1이 정확히 1이 되지 않습니다. 예제로, 1/3 = .010101...에 대해 이진 표현을 해석하기 위해, 다음을 의미합니다: 1/3 = 0 × 2−1 + 1 × 2−2 + 0 × 2−3 + 1 × 2−4 + ... = 0.3125 + .... 1/3의 이진 표현에서 영들과 일들이 영원히 번갈아 가며 이의 유한한 수의 역 거듭제곱의 합으로 정확한 값을 찾을 수 없습니다.

Fraction Decimal Binary Fractional approximation
1/1 1 or 0.999... 1 or 0.111... 1/2 + 1/4 + 1/8...
1/2 0.5 or 0.4999... 0.1 or 0.0111... 1/4 + 1/8 + 1/16 . . .
1/3 0.333... 0.010101... 1/4 + 1/16 + 1/64 . . .
1/4 0.25 or 0.24999... 0.01 or 0.00111... 1/8 + 1/16 + 1/32 . . .
1/5 0.2 or 0.1999... 0.00110011... 1/8 + 1/16 + 1/128 . . .
1/6 0.1666... 0.0010101... 1/8 + 1/32 + 1/128 . . .
1/7 0.142857142857... 0.001001... 1/8 + 1/64 + 1/512 . . .
1/8 0.125 or 0.124999... 0.001 or 0.000111... 1/16 + 1/32 + 1/64 . . .
1/9 0.111... 0.000111000111... 1/16 + 1/32 + 1/64 . . .
1/10 0.1 or 0.0999... 0.000110011... 1/16 + 1/32 + 1/256 . . .
1/11 0.090909... 0.00010111010001011101... 1/16 + 1/64 + 1/128 . . .
1/12 0.08333... 0.00010101... 1/16 + 1/64 + 1/256 . . .
1/13 0.076923076923... 0.000100111011000100111011... 1/16 + 1/128 + 1/256 . . .
1/14 0.0714285714285... 0.0001001001... 1/16 + 1/128 + 1/1024 . . .
1/15 0.0666... 0.00010001... 1/16 + 1/256 . . .
1/16 0.0625 or 0.0624999... 0.0001 or 0.0000111... 1/32 + 1/64 + 1/128 . . .

Binary arithmetic

이진수의 산술(Arithmetic)은 다른 숫자-표시 시스템에서 산술과 매우 유사합니다. 덧셈, 뺄셈, 곱셈, 및 나눗셈은 이진수에 대해 수행될 수 있습니다.

Addition

The circuit diagram for a binary half adder, which adds two bits together, producing sum and carry bits

이진수에서 가장 간단한 산술 연산은 덧셈입니다. 두 개의 단일-자릿수 이진수를 더하는 것은 다음과 같은 형식을 사용하여 비교적 간단합니다:

0 + 0 → 0
0 + 1 → 1
1 + 0 → 1
1 + 1 → 0, 올림 1 (왜냐하면 1 + 1 = 2 = 0 + (1 × 21) )

두 개의 "1" 자릿수를 더하는 것은 자릿수 "0"을 생성하고, 1은 다음 열에 더해져야 할 것입니다. 이것은 특정 단일-자리 숫자가 함께 더해질 때 십진법에서 발생하는 것과 유사합니다; 만약 결과가 기수 (10)의 값과 같거나 초과하면, 왼쪽 자릿수가 증가됩니다:

5 + 5 → 0, 올림 1 (since 5 + 5 = 10 = 0 + (1 × 101) )
7 + 9 → 6, 올림 1 (since 7 + 9 = 16 = 6 + (1 × 101) )

이것은 올림(carrying)으로 알려져 있습니다. 덧셈 결과가 자릿수의 값을 초과할 때, 초과 양을 기수로 나눈 값 (즉, 10/10)을 왼쪽으로 "올려서" 다음 위치 값에 그것을 더하는 절차입니다. 다음 위치는 기수와 같은 인수만큼 더 높은 가중 값을 가지기 때문에 이것은 정확합니다. 올림은 이진수에서도 같은 방법으로 작동합니다:

  1 1 1 1 1    (carried digits)
    0 1 1 0 1
+   1 0 1 1 1
-------------
= 1 0 0 1 0 0 = 36

이 예제에서, 두 숫자-표시: 011012 (1310)와 101112 (2310)가 함께 더합니다. 맨 꼭대기 행은 사용된 올림 비트를 보여줍니다. 가장 오른쪽 열에서 시작하여, 1 + 1 = 102입니다. 1은 왼쪽으로 올려지고, 0은 맨 오른쪽 열의 맨 아래에 씁니다. 오른쪽에서 두 번째 열이 더해져서: 1 + 0 + 1 = 102입니다. 다시; 1을 올리고, 맨 아래에 0을 씁니다. 세 번째 열은: 1 + 1 + 1 = 112입니다. 이번에는, 1을 올리고, 맨 아래 줄에 1을 씁니다. 이렇게 진행하면 최종 답은 1001002 (3610)이 됩니다.

컴퓨터가 두 개의 숫자를 더해야 할 때, 다음 규칙: 임의의 두 비트 x와 y에 대해, x xor y = (x + y) mod 2는 매우 빠른 계산을 허용합니다.

Long carry method

많은 이진 덧셈 문제에 대해 단순화는 "긴 올림 방법(long carry method)" 또는 "이진 덧셈의 브룩하우스 방법(Brookhouse Method of Binary Addition)"입니다. 이 방법은 특히 숫자 중 하나에 긴 길이의 1들이 포함될 때 사용됩니다. 그것은 이진 시스템 아래에서 n 개의 1로 구성된 일련의 숫자가 주어질 때 (여기서 n은 임의의 정수 길이임), 1을 더하면 숫자 1 다음에 n 개의 0이 오는 문자열이 된다는 단순한 전제에 기반합니다. 해당 개념은, 논리적으로, 십진 시스템에서와 마찬가지로, n 개의 9의 문자열에 1을 더하면 숫자 1 다음에 n 개의 0의 문자열이 오는 결과가 됩니다.

     Binary                        Decimal
    1 1 1 1 1     likewise        9 9 9 9 9
 +          1                  +          1
  ———————————                   ———————————
  1 0 0 0 0 0                   1 0 0 0 0 0

이러한 긴 문자열은 이진 시스템에서 매우 공통적입니다. 그로부터 과도한 올림 연산 없이 두 가지 간단한 단계를 사용하여 큰 이진수를 더할 수 있음을 발견했습니다. 다음 예제에서, 두 개의 숫자-표시는 함께 더합니다: 1 1 1 0 1 1 1 1 1 02 (95810) 및 1 0 1 0 1 1 0 0 1 12 (69110), 왼쪽의 기존 올림 방법을 사용한 것과 오른쪽의 긴 올림 방법을 사용한 것입니다:

Traditional Carry Method                       Long Carry Method
                                vs.
  1 1 1   1 1 1 1 1      (carried digits)   1 ←     1 ←            carry the 1 until it is one digit past the "string" below
    1 1 1 0 1 1 1 1 1 0                       1 1 1 0 1 1 1 1 1 0  cross out the "string",
+   1 0 1 0 1 1 0 0 1 1                   +   1 0 1 0 1 1 0 0 1 1  and cross out the digit that was added to it
———————————————————————                    ——————————————————————
= 1 1 0 0 1 1 1 0 0 0 1                     1 1 0 0 1 1 1 0 0 0 1

맨 위 행은 사용된 올림 비트를 보여줍니다. 한 열에서 다음 열로의 표준 올림 대신에, 가장-낮은 순서의 "1"과 그 아래의 해당 자리 값에 "1"이 더해질 수 있고 "1"이 수열의 끝을 지나 한 자릿수로 올림될 수 있습니다. "사용된" 숫자는 이미 더해졌기 때문에 지워져야 합니다. 다른 긴 문자열도 같은 기법을 사용하여 취소될 수 있습니다. 그런-다음 임의의 남아있는 자릿수를 통상적으로 더합니다. 이 방식으로 진행하면 최종 답은 1 1 0 0 1 1 1 0 0 0 12 (164910)입니다. 작은 숫자를 사용하는 간단한 예에서, 전통적인 올림 방법은 8 개의 올림 연산을 요구했지만, 긴 올림 방법은 오직 2 개를 요구하여, 상당한 노력을 줄였습니다.

Addition table

0 1
0 0 1
1 1 10

이진 덧셈 테이블은 논리합(logical disjunction) 연산 진리 테이블(truth table)과 유사하지만 같지는 않습니다. 차이점은 이고, 반면에 이라는 것입니다.

Subtraction

뺄셈(Subtraction)은 거의 같은 방법으로 작동합니다:

0 − 0 → 0
0 − 1 → 1, 빌림 1
1 − 0 → 1
1 − 1 → 0

"0" 자릿수에서 "1" 자릿수를 빼면 자릿수 "1"을 생성하지만, 다음 열에서 1을 빼야 할 것입니다. 이것은 빌림(borrowing)으로 알려져 있습니다. 그 원리는 올림과 같습니다. 뺄셈의 결과가 자릿수의 최소 가능한 값, 0보다 작을 때, 그 절차는 기수 (즉, 10/10)로 나눈 적자를 왼쪽에서 "빌리는" 것이며, 다음 위치적 값에서 그것을 뺍니다.

    *   * * *   (starred columns are borrowed from)
  1 1 0 1 1 1 0
−     1 0 1 1 1
----------------
= 1 0 1 0 1 1 1
  *             (starred columns are borrowed from)
  1 0 1 1 1 1 1
-   1 0 1 0 1 1
----------------
= 0 1 1 0 1 0 0

양수를 빼는 것은 같은 절댓값(absolute value)음수(negative number)더하는 것과 동등합니다. 컴퓨터는 부호화된 숫자 표현(signed number representations)을 사용하여 음수를 처리합니다—가장 공통적으로 2의 보수 표기법을 사용합니다. 그러한 표현은 별도의 "뺄셈" 연산에 대한 필요성을 제거합니다. 2의 보수 표기법을 사용하여 뺄셈은 다음 형식으로 요약될 수 있습니다:

A − B = A + not B + 1

Multiplication

이진수에서 곱셈(Multiplication)은 십진수 짝과 유사합니다. 두 숫자 AB는 부분 곱에 의해 곱할 수 있습니다: B에서 각 자릿수에 대해, A에서 해당 자릿수의 곱이 계산되고 새 줄에 쓰이며, 그것의 가장 오른쪽 자릿수와 사용되려는 B에서 자릿수와 정렬되도록 왼쪽으로 이동합니다. 모든 이들 부분 곱의 합계가 최종 결과를 제공합니다.

이진수에서 두 자릿수만 있기 때문에, 각 부분 곱셈의 오직 가능한 결과가 입습니다:

  • 만약 B에서 자릿수가 0이면, 부분 곱은 역시 0입니다.
  • 만약 B에서 자릿수가 1이면, 부분 곱은 A와 같습니다.

예를 들어, 이진수 1011와 1010는 다음처럼 곱합니다:

           1 0 1 1   (A)
         × 1 0 1 0   (B)
         ---------
           0 0 0 0   ← Corresponds to the rightmost 'zero' in B
   +     1 0 1 1     ← Corresponds to the next 'one' in B
   +   0 0 0 0
   + 1 0 1 1
   ---------------
   = 1 1 0 1 1 1 0

이진수는 역시 이진 점(binary point) 뒤에 비트와 곱할 수 있습니다:

               1 0 1 . 1 0 1     A (5.625 in decimal)
             × 1 1 0 . 0 1       B (6.25 in decimal)
             -------------------
                   1 . 0 1 1 0 1   ← Corresponds to a 'one' in B
     +           0 0 . 0 0 0 0     ← Corresponds to a 'zero' in B
     +         0 0 0 . 0 0 0
     +       1 0 1 1 . 0 1
     +     1 0 1 1 0 . 1
     ---------------------------
     =   1 0 0 0 1 1 . 0 0 1 0 1 (35.15625 in decimal)

역시 부스의 곱셈 알고리듬(Booth's multiplication algorithm)을 참조하십시오.

Multiplication table

0 1
0 0 0
1 0 1

이진 곱셈 테이블은 논리합(logical conjunction) 연산 진리 테이블(truth table)과 같습니다.

Division

이진법에서 긴 나눗셈(Long division)은 다시 그것의 십진법 짝과 유사합니다.

아래 예제에서, 제수(divisor)는 1012, 또는 십진수에서 5이고, 피제수(dividend)는 110112, 또는 십진수에서 27입니다. 그 절차는 십진수 긴 나눗셈(long division)의 그것과 같습니다; 여기서, 제수 1012는 피제수의 처음 세 자릿수 1102에 한 번 들어가므로, 꼭대기 줄에 "1"이 쓰입니다. 이 결과에 제수를 곱하고, 피제수의 처음 세 자리에서 뺍니다; 다음 자릿수 ("1")가 새로운 세-자릿수 열을 얻기 위해 포함됩니다:

              1
        ___________
1 0 1   ) 1 1 0 1 1
        − 1 0 1
          -----
          0 0 1

그 절차는 그런-다음 피제수에서 자릿수가 모두 소진될 때까지 새로운 수열로 반복됩니다:

             1 0 1
       ___________
1 0 1  ) 1 1 0 1 1
       − 1 0 1
         -----
             1 1 1
         −   1 0 1
             -----
             0 1 0

따라서, 110112를 1012로 나눈 몫(quotient)은 꼭대기 줄에 표시된 것처럼 1012이고, 나머지는 바닥 줄에 표시된 것처럼 102입니다. 십진법에서, 이것은 27을 5로 나눈 값이 5이고, 2의 나머지를 갖는다는 사실에 해당합니다.

긴 나누기 외에도, 각 반복에서 부분 나머지에서 과도하게 빼도록 절차를 고안할 수 있으므로, 덜 시스템적이지만 결과적으로 더 유연한 대안적인 방법으로 이어집니다.

Square root

이진 제곱 자릿수를 자릿수로 취하는 과정은 십진수 제곱근에 대한 것과 같고, 여기에 설명되어 있습니다. 예제는 다음입니다:

             1 0 0 1
            ---------
           √ 1010001
             1
            ---------
      101     01 
               0
             --------
      1001     100
                 0
             --------
      10001    10001
               10001
              -------
                   0

Bitwise operations

이진 기호의 수치 해석과 직접적인 관련은 없지만, 비트의 수열은 부울 논리적 연산자(Boolean logical operators)를 사용하여 조작될 수 있습니다. 이진 기호의 문자열이 이런 방법으로 조작될 때, 그것은 비트-별 연산(bitwise operation)이라고 불립니다; 논리적 연산자 AND, OR, 및 XOR은 입력으로 제공되는 두 개의 이진 숫자-표시에서 해당하는 비트 위에 수행될 수 있습니다. 논리적 NOT 연산은 입력으로 제공된 단일 이진 숫자-표시에서 개별 비트 위에 수행될 수 있습니다. 때때로, 그러한 연산은 산술 단축-키로 사용될 수 있고, 다른 계산적 이점도 가질 수 있습니다. 예를 들어, 이진수의 왼쪽 산술 시프트(arithmetic shift)는 (양의, 정수) 2의 거듭제곱을 곱한 것과 동등합니다.

Conversion to and from other numeral systems

Decimal to Binary

Conversion of (357)10 to binary notation results in (101100101)

밑수-10 정수(integer)에서 그에 동등한 밑수-2 정수로 변환하기 위해, 그 숫자를 2로 나눕니다. 나머지는 최하위-유효 비트(least-significant bit)입니다. 몫은 다시 2로 나뉩니다; 그것의 나머지는 다음 최하위 유효 비트가 됩니다. 이 과정은 일의 몫에 도달할 때까지 반복됩니다. 나머지의 수열 (1의 최종 몫을 포함)은 2로 나눌 때 각 나머지가 0이거나 1이어야 하므로 이진 값을 형성합니다. 예를 들어, (357)10은 (101100101)2로 표현됩니다.[34]

Binary to Decimal

밑수-2에서 밑수-10으로의 변환은 단순히 앞의 알고리듬을 뒤집는 것입니다. 이진수의 비트가 하나씩 사용되며, 최상위 유효 (가장 왼쪽) 비트로 시작합니다. 값 0으로 시작하여, 이전 값이 두 배가 되고, 다음 비트가 그런-다음 다음 값을 생성하기 위해 더합니다. 이것은 다중-열 테이블로 구성될 수 있습니다. 예를 들어, 100101011012를 십진수로 변환하기 위해:

Prior value × 2 + Next bit = Next value
0 × 2 + 1 = 1
1 × 2 + 0 = 2
2 × 2 + 0 = 4
4 × 2 + 1 = 9
9 × 2 + 0 = 18
18 × 2 + 1 = 37
37 × 2 + 0 = 74
74 × 2 + 1 = 149
149 × 2 + 1 = 299
299 × 2 + 0 = 598
598 × 2 + 1 = 1197

결과는 119710입니다. 첫 번째 이전 값 0은 단순히 초기 십진 값입니다. 이 방법은 호너 스킴(Horner scheme)의 응용입니다.

Binary  1 0 0 1 0 1 0 1 1 0 1
Decimal  1×210 + 0×29 + 0×28 + 1×27 + 0×26 + 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 1197

숫자의 분수 부분은 유사한 방법으로 변환됩니다. 그것들은 다시 이동과 두 배 또는 절반의 동등성을 기반으로 합니다.

0.110101101012와 같은 분수 이진수에서, 첫 번째 자릿수는 , 두 번째는 , 등입니다. 따라서 십진점 뒤에 첫 번째 자리에 1이 있으면, 그 숫자는 적어도 이고, 그 반대도 마찬가지입니다. 그 숫자의 두 배는 적어도 1입니다. 이것은 알고리듬을 제안합니다: 변환될 숫자를 반복적으로 두 배로 만들고, 결과가 적어도 1이면 기록하고, 그런-다음 정수 부분을 버립니다.

예를 들어, 은, 이진수에서, 다음과 같습니다:

Converting Result
0.
0.0
0.01
0.010
0.0101

따라서 반복되는 십진 분수 0.3...은 반복되는 이진 분수 0.01...과 동등합니다.

또는 예를 들어, 0.110은, 이진수에서, 다음과 같습니다:

Converting Result
0.1 0.
0.1 × 2 = 0.2 < 1 0.0
0.2 × 2 = 0.4 < 1 0.00
0.4 × 2 = 0.8 < 1 0.000
0.8 × 2 = 1.6 ≥ 1 0.0001
0.6 × 2 = 1.2 ≥ 1 0.00011
0.2 × 2 = 0.4 < 1 0.000110
0.4 × 2 = 0.8 < 1 0.0001100
0.8 × 2 = 1.6 ≥ 1 0.00011001
0.6 × 2 = 1.2 ≥ 1 0.000110011
0.2 × 2 = 0.4 < 1 0.0001100110

이것은 역시 반복되는 이진 분수 0.00011... 입니다. 종료하는 십진 분수가 이진수에서 반복되는 전개를 가질 수 있다는 것은 놀라운 일이 될 수 있습니다. 0.1 + ... + 0.1, (10 덧셈)이 부동 점 산술(floating point arithmetic)에서 1과 다르다는 사실에 많은 사람들이 놀란 것은 바로 이러한 이유 때문입니다. 사실, 종료하는 전개를 갖는 유일한 이진 분수는 정수를 2의 거듭제곱으로 나눈 형식이며, 1/10은 그렇지 않습니다.

최종 변환은 이진수에서 십진 분수로 변환됩니다. 유일한 어려움은 분수를 반복할 때 발생하지만, 그렇지 않으면 그 방법은 분수를 정수로 이동하고, 위와 같이 변환하고, 그런-다음 십진 밑수에서 적절한 2의 거듭제곱으로 나누는 것입니다. 예를 들어:

이진수에서 십진수로 변환하는 다른 방법은, 종종 십육진수(hexadecimal)에 익숙한 사람에게 더 빠르며, 간접적으로 그렇게 수행하는 것입니다—먼저 (2진수 )를 (16진수 )로 변환하고 그런-다음 (16진수 )를 (10진수 )로 변환합니다.

매우 큰 숫자에 대해, 이들 간단한 방법은 비-효율적인데 왜냐하면 그것들은 하나의 피연산자가 매우 큰 곱셈 또는 나눗셈을 많이 수행하기 때문입니다. 간단한 분할-과-정복 알고리듬은 점근적으로 더 효과적입니다: 이진수가 주어지면, 그것을 10k로 나뉘며, 여기서 k는 몫이 대략 나머지와 같도록 선택됩니다; 그런-다음 이들 각 부분은 십진수로 변환되고 그 둘은 연결됩니다. 십진수가 주어지면, 그것은 거의 같은 크기의 두 조각으로 나눌 수 있으며, 각각은 이진수로 변환되며 첫 번째 변환 조각에 10k를 곱하고 두 번째 변환 조각에 더하며, 여기서 k는 변환 전 두 번째, 최하위 유효 부분의 십진 자릿수의 숫자입니다.

Hexadecimal

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

이진수는 십육진수에서 더 쉽게 변환될 수 있습니다. 이것은 십육진 시스템의 기수(radix) (16)가 이진 시스템의 기수 (2)의 거듭제곱이기 때문입니다. 더 구체적으로 말하면, 16 = 24이므로, 옆의 테이블에서 보인 것처럼 십육진수의 한 자릿수를 나타내기 위해 이진수의 네 자릿수가 필요합니다.

십육진수를 동등한 그것의 이진수로 변환하기 위해, 해당하는 이진 자릿수를 간단히 대체합니다:

3A16 = 0011 10102
E716 = 1110 01112

이진수를 동등한 그것의 16진수로 변환하기 위해, 그것을 4 비트의 그룹으로 나눕니다. 만약 비트 수가 4의 배수가 아니면, 간단히 왼쪽에 여분의 0 비트들을 삽입합니다 (패딩이라고 불립니다). 예를 들어:

10100102 = 0101 0010 grouped with padding = 5216
110111012 = 1101 1101 grouped = DD16

십육진수를 동등한 그것의 십진수로 변환하기 위해, 각 십육진 자릿수에 해당하는 십진수와 동등한 16의 해당하는 거듭제곱을 곱하고 결과 값을 더합니다:

C0E716 = (12 × 163) + (0 × 162) + (14 × 161) + (7 × 160) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,38310

Octal

팔진수는 2의 거듭제곱인 8의 기수를 사용하기 때문에 (즉, 23이므로, 팔진 자릿수를 나타내는 데 정확히 세 개의 이진 자릿수가 필요함), 이진수는 역시 팔진 숫자-표시 시스템으로 쉽게 변환됩니다. 팔진 숫자-표시와 이진 숫자-표시 사이의 대응은 위 테이블에서 십육진수(hexadecimal)의 처음 8개의 자릿수와 같습니다. 이진수 000은 팔진수 0에 해당하고, 이진수 111은 팔진수 7에 해당하고, 이런 식입니다.

Octal Binary
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

팔진수에서 이진수로 변환하는 것은 십육진수(hexadecimal)와 같은 방식으로 진행됩니다:

658 = 110 1012
178 = 001 1112

그리고 이진수에서 팔진수로:

1011002 = 101 1002 grouped = 548
100112 = 010 0112 grouped with padding = 238

그리고 팔진수에서 십진수로:

658 = (6 × 81) + (5 × 80) = (6 × 8) + (5 × 1) = 5310
1278 = (1 × 82) + (2 × 81) + (7 × 80) = (1 × 64) + (2 × 8) + (7 × 1) = 8710

Representing real numbers

비-정수는 기수 점 (십진 시스템에서 십진 점이라고 불림)을 수단으로 다른 자릿수와 구분되는 음의 거듭제곱을 사용함으로써 표현될 수 있습니다. 예를 들어, 이진수 11.012는 다음을 의미합니다:

1 × 21 (1 × 2 = 2) plus
1 × 20 (1 × 1 = 1) plus
0 × 2−1 (0 × 12 = 0) plus
1 × 2−2 (1 × 14 = 0.25)

십진법에서 총 3.25가 됩니다.

모든 이원적 유리수(dyadic rational numbers) 종료하는 이진 숫자-표시를 가집니다—이진수 표현은 기수 점 뒤에 유한한 개수의 항을 가집니다. 다른 유리수는 이진 표현을 가지지만, 종료하는 대신, 그것들은 무한하게 반복하는 유한한 자릿수의 수열로 순환합니다. 예를 들어

임의의 유리수의 이진 표현이 종료하거나 반복하는 현상은 다른 기수 기수-밑 숫자-표시 시스템에서도 발생합니다. 예를 들어, 십진수에서 설명을 참조하십시오. 또 다른 유사점은 0.111111...가 결과가 1인 기하 급수(geometric series) 2−1 + 2−2 + 2−3 + ...의 합이라는 사실에 의존하는 임의의 종료하는 표현에 대한 대안적인 표현의 존재입니다.

종료하지도 않고 순환하지도 않는 이진 숫자-표시는 무리수(irrational numbers)를 나타냅니다. 예를 들어,

  • 0.10100100010000100000100...는 패턴을 가지지만, 고정-길이 순환하는 패턴이 아니므로, 그 숫자는 무리수입니다.
  • 1.0110101000001001111001100110011111110...는 , 2의 제곱근(square root of 2)의 이진 표현이며, 또 다른 무리수입니다. 그것은 식별할 수 있는 패턴을 가지지 않습니다.

See also

References

  1. ^ "3.3. Binary and Its Advantages — CS160 Reader". computerscience.chemeketa.edu. Retrieved 22 May 2022.
  2. ^ Robson, Eleanor; Stedall, Jacqueline, eds. (2009), "Myth No. 2: the Horus eye fractions", The Oxford Handbook of the History of Mathematics, Oxford University Press, p. 790, ISBN 9780199213122
  3. ^ Chrisomalis, Stephen (2010), Numerical Notation: A Comparative History, Cambridge University Press, pp. 42–43, ISBN 9780521878180.
  4. ^ Rudman, Peter Strom (2007), How Mathematics Happened: The First 50,000 Years, Prometheus Books, pp. 135–136, ISBN 9781615921768.
  5. ^ a b Edward Hacker; Steve Moore; Lorraine Patsco (2002). I Ching: An Annotated Bibliography. Routledge. p. 13. ISBN 978-0-415-93969-0.
  6. ^ a b Redmond, Geoffrey; Hon, Tze-Ki (2014). Teaching the I Ching. Oxford University Press. p. 227. ISBN 978-0-19-976681-9.
  7. ^ a b Jonathan Shectman (2003). Groundbreaking Scientific Experiments, Inventions, and Discoveries of the 18th Century. Greenwood Publishing. p. 29. ISBN 978-0-313-32015-6.
  8. ^ Zhonglian, Shi; Wenzhao, Li; Poser, Hans (2000). Leibniz' Binary System and Shao Yong's "Xiantian Tu in :Das Neueste über China: G.W. Leibnizens Novissima Sinica von 1697 : Internationales Symposium, Berlin 4. bis 7. Oktober 1997. Stuttgart: Franz Steiner Verlag. pp. 165–170. ISBN 3515074481.
  9. ^ Sanchez, Julio; Canton, Maria P. (2007). Microcontroller programming: the microchip PIC. Boca Raton, Florida: CRC Press. p. 37. ISBN 978-0-8493-7189-9.
  10. ^ W. S. Anglin and J. Lambek, The Heritage of Thales, Springer, 1995, ISBN 0-387-94544-X
  11. ^ a b Binary Numbers in Ancient India
  12. ^ Math for Poets and Drummers Archived 16 June 2012 at the Wayback Machine (pdf, 145KB)
  13. ^ Stakhov, Alexey; Olsen, Scott Anthony (2009). The mathematics of harmony: from Euclid to contemporary mathematics and computer science. ISBN 978-981-277-582-5.
  14. ^ B. van Nooten, "Binary Numbers in Indian Antiquity", Journal of Indian Studies, Volume 21, 1993, pp. 31–50
  15. ^ Bender, Andrea; Beller, Sieghard (16 December 2013). "Mangarevan invention of binary steps for easier calculation". Proceedings of the National Academy of Sciences. 111 (4): 1322–1327. doi:10.1073/pnas.1309160110. PMC 3910603. PMID 24344278.
  16. ^ (see Bonner 2007 [1] Archived 3 April 2014 at the Wayback Machine, Fidora et al. 2011 [2] Archived 8 April 2019 at the Wayback Machine)
  17. ^ a b Bacon, Francis (1605). "The Advancement of Learning". London. pp. Chapter 1.
  18. ^ Shirley, John W. (1951). "Binary numeration before Leibniz". American Journal of Physics. 19 (8): 452–454. Bibcode:1951AmJPh..19..452S. doi:10.1119/1.1933042.
  19. ^ Ineichen, R. (2008). "Leibniz, Caramuel, Harriot und das Dualsystem" (PDF). Mitteilungen der deutschen Mathematiker-Vereinigung (in German). 16 (1): 12–15. doi:10.1515/dmvm-2008-0009. S2CID 179000299.
  20. ^ a b Leibniz G., Explication de l'Arithmétique Binaire, Die Mathematische Schriften, ed. C. Gerhardt, Berlin 1879, vol.7, p.223; Engl. transl.[3]
  21. ^ a b c J.E.H. Smith (2008). Leibniz: What Kind of Rationalist?: What Kind of Rationalist?. Springer. p. 415. ISBN 978-1-4020-8668-7.
  22. ^ Aiton, Eric J. (1985). Leibniz: A Biography. Taylor & Francis. pp. 245–8. ISBN 0-85274-470-6.
  23. ^ Yuen-Ting Lai (1998). Leibniz, Mysticism and Religion. Springer. pp. 149–150. ISBN 978-0-7923-5223-5.
  24. ^ Boole, George (2009) [1854]. An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities (Macmillan, Dover Publications, reprinted with corrections [1958] ed.). New York: Cambridge University Press. ISBN 978-1-108-00153-3.
  25. ^ Shannon, Claude Elwood (1940). A symbolic analysis of relay and switching circuits (Thesis). Cambridge: Massachusetts Institute of Technology. hdl:1721.1/11173.
  26. ^ "National Inventors Hall of Fame – George R. Stibitz". 20 August 2008. Archived from the original on 9 July 2010. Retrieved 5 July 2010.
  27. ^ "George Stibitz : Bio". Math & Computer Science Department, Denison University. 30 April 2004. Retrieved 5 July 2010.
  28. ^ "Pioneers – The people and ideas that made a difference – George Stibitz (1904–1995)". Kerry Redshaw. 20 February 2006. Retrieved 5 July 2010.
  29. ^ "George Robert Stibitz – Obituary". Computer History Association of California. 6 February 1995. Retrieved 5 July 2010.
  30. ^ Rojas, Raúl (April–June 1997). "Konrad Zuse's Legacy: The Architecture of the Z1 and Z3" (PDF). IEEE Annals of the History of Computing. 19 (2): 5–16. doi:10.1109/85.586067. Archived (PDF) from the original on 2022-07-03. Retrieved 2022-07-03. (12 pages)
  31. ^ "Introducing binary - Revision 1 - GCSE Computer Science". BBC. Retrieved 2019-06-26.
  32. ^ a b Küveler, Gerd; Schwoch, Dietrich (2013) [1996]. Arbeitsbuch Informatik - eine praxisorientierte Einführung in die Datenverarbeitung mit Projektaufgabe (in German). Vieweg-Verlag, reprint: Springer-Verlag. doi:10.1007/978-3-322-92907-5. ISBN 978-3-528-04952-2. 9783322929075.
  33. ^ a b Küveler, Gerd; Schwoch, Dietrich (2007-10-04). Informatik für Ingenieure und Naturwissenschaftler: PC- und Mikrocomputertechnik, Rechnernetze (in German). Vol. 2 (5 ed.). Vieweg, reprint: Springer-Verlag. ISBN 978-3834891914. 9783834891914.
  34. ^ "Base System". Retrieved 31 August 2016.

External links