이진법
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
이진법은 0과 1, 두 개의 숫자만 사용하여 모든 수를 표현하는 기수법이다. 컴퓨터는 이진법을 기반으로 작동하며, 각 자릿수를 비트라고 부른다. 이진법은 십진법과 구별하기 위해 다양한 표기법을 사용하며, 2를 밑으로 하는 위치 기수법으로, 십진법과 변환이 가능하다. 이진법은 덧셈, 뺄셈, 곱셈, 나눗셈, 제곱근 등의 산술 연산에 사용되며, 디지털 회로, 자기 디스크 등 디지털 기기에서 널리 사용된다. 음수는 2의 보수 표현을 통해 나타낼 수 있다.
더 읽어볼만한 페이지
- 고트프리트 빌헬름 라이프니츠 - 신정론
신정론은 전지전능하고 선한 신의 존재 하에 세상의 악과 고통의 존재 이유를 설명하고 신의 선함과 전능함을 정당화하려는 이론으로, 다양한 해석과 비판적 시각, 그리고 대안적 접근 방식들이 제시되고 있다. - 고트프리트 빌헬름 라이프니츠 - 이진 코드
이진 코드는 0과 1을 사용하여 정보를 표현하는 시스템으로, 고대 중국의 주역에서 기원하며, 컴퓨터 과학, 통신 등 다양한 분야에서 활용된다. - 2 - 페어 스케이팅
페어 스케이팅은 두 선수가 함께 스케이팅하며 고난도 기술을 구사하는 피겨 스케이팅 종목으로, 쇼트 프로그램과 프리스케이팅으로 구성되며, 1908년 하계 올림픽에서 정식 종목으로 채택되었다. - 2 - 이족보행
이족보행은 두 다리로 걷는 이동 방식으로, 사족보행과 대조되며 더 넓은 시야 확보 등 종에게 여러 이점을 제공하고 앞다리를 다양한 용도로 활용할 수 있게 하며, 동물학자들은 이를 선택적 또는 의무적으로 분류하고 인간을 포함한 다양한 동물군에서 관찰된다. - 인도의 발명품 - 수차
수차는 물의 힘을 이용하여 회전력을 얻는 기계로, 고대부터 농지 관개나 맷돌 등에 사용되었으며, 충동 수차와 반동 수차로 분류되고, 최근에는 수력 터빈으로 발전하여 전력 생산에 활용된다. - 인도의 발명품 - 등자
등자는 말을 탈 때 발을 올려놓는 도구로, 기병의 안정성을 높여 전투력 향상에 기여했으며 기병 전술 변화와 기사 지위 상승 등 사회적 영향을 미쳤다.
| 이진법 | |
|---|---|
| 개요 | |
| 명칭 | 이진법 (二進法) |
| 영어 명칭 | binary numeral system, base-2 numeral system |
| 이진수 | binary number |
| 밑 | 2 |
| 기수법 | 기수법 |
| 표현 범위 | ..., 1 2 4 ... |
| 예시 (정수) | 7 (= 4 + 2 + 1) (111) |
| 예시 (소수) | 1.75 (= 1 + 0.5 + 0.25) (1.11) |
| 특징 | |
| 장점 | 컴퓨터에서 사용하기 편리 단순한 구조 |
| 단점 | 큰 숫자를 표현하기 불편 사람이 사용하기 불편 |
| 역사 | |
| 기원 | 고대 이집트, 중국 |
| 현대적 사용 | 17세기 고트프리트 빌헬름 라이프니츠 |
| 관련 개념 | |
| p진법 | 이진법의 일반화 |
| 위치 기수법 | 각 자리의 위치가 값에 영향을 미치는 기수법 |
| 비정수 기수법 | 밑이 정수가 아닌 기수법 |
| 기타 | |
| 관련 주제 | 숫자 바빌로니아 숫자 이집트 숫자 그리스 숫자 로마 숫자 마야 숫자 아라비아 숫자 한자 숫자 일진법 삼진법 사진법 오진법 육진법 팔진법 구진법 십진법 십일진법 십이진법 십오진법 십육진법 십팔진법 이십진법 삼십육진법 육십진법 |
2. 표현
이진법에서는 0과 1로 모든 수를 표현한다. 컴퓨터 상에서는 각각의 자리를 비트라고 부르며,[53] 각각의 비트는 켜져있거나 꺼져있는 두 가지 상태로 표시된다. 다음 수는 십진수 155를 이진법으로 표현한 것이다.
:1 0 0 1 1 0 1 1
일반적으로 이진법의 수를 십진법의 수와 구별하기 위해 다음과 같은 방법을 쓴다.
:100101b (b를 덧붙임(b는 binary의 약자))(binary = 이진)
:100101(2) ((2)를 덧붙임, 주로 수학에서 쓰임)
:0b100101 (앞에 0b를 덧붙임, 주로 프로그래밍 언어에서 쓰임)
어떤 수든지 비트(binary digits, 이진수 자릿수)의 순서로 나타낼 수 있으며, 이는 다시 상호 배타적인 두 상태가 될 수 있는 어떤 메커니즘으로 나타낼 수 있다. 다음 기호들의 행들은 모두 667이라는 이진수 값으로 해석될 수 있다.
| 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
| > | ― | > | ― | ― | > | > | ― | > | > |
| ☒ | ☐ | ☒ | ☐ | ☐ | ☒ | ☒ | ☐ | ☒ | ☒ |
| y | n | y | n | n | y | y | n | y | y |
| T | F | T | F | F | T | T | F | T | T |
각 경우에 표현되는 숫자 값은 각 기호에 할당된 값에 따라 달라진다. 초기 컴퓨팅 시대에는 스위치, 천공 카드, 천공 종이 테이프가 이진 값을 나타내는 데 사용되었다.[39] 현대 컴퓨터에서는 두 가지 다른 전압으로 숫자 값을 나타낼 수 있다. 자기 디스크에서는 자기 극성을 사용할 수 있다. "양수", "예" 또는 "켜짐" 상태가 반드시 숫자 값 1과 같지는 않다. 사용 중인 아키텍처에 따라 다릅니다.
아라비아 숫자를 사용하여 숫자를 표현하는 관례에 따라 이진수는 일반적으로 기호 '''0'''과 '''1'''을 사용하여 작성된다. 이진수를 쓸 때는 종종 밑첨자, 접두사 또는 접미사를 사용하여 기수 또는 진법을 나타낸다. 다음 표기법은 모두 동일하다.
- 100101 이진수 (형식의 명시적 진술)
- 100101b (이진 형식을 나타내는 접미사; 인텔 규약으로도 알려져 있음[40][41])
- 100101B (이진 형식을 나타내는 접미사)
- bin 100101 (이진 형식을 나타내는 접두사)
- 1001012 (2진수(이진수) 표기를 나타내는 밑첨자)
- %100101 (이진 형식을 나타내는 접두사; 모토로라 규약으로도 알려져 있음[40][41])
- 0b100101 (프로그래밍 언어에서 일반적으로 사용되는 이진 형식을 나타내는 접두사)
- 6b100101 (프로그래밍 언어에서 일반적으로 사용되는 이진 형식의 비트 수를 나타내는 접두사)
- #b100101 (Lisp 프로그래밍 언어에서 일반적으로 사용되는 이진 형식을 나타내는 접두사)
말로 할 때, 이진수는 일반적으로 자릿수별로 읽는다. 이는 십진수와 구별하기 위해서이다. 예를 들어, 이진수 100은 "일 영 영"으로 발음하고 "일백"으로 발음하지 않는다. 이는 이진수임을 명확히 하고 정확성을 위해서이다. 이진수 100은 값이 4이므로, 이 수를 "일백"(완전히 다른 값 또는 양을 나타내는 단어)이라고 부르는 것은 혼란스러울 것이다. 또는 이진수 100을 "사" (올바른 ''값'')로 읽을 수도 있지만, 이것은 이진수임을 명시적으로 나타내지는 않습니다.
밑이 이인 위치 기수법을 '''이진법''' 또는 이진수라고 한다. 이진법으로 수를 표현하는 방법은, 일의 자리를 1=''k'' = 0으로 하고 첨자 ''k''로 자릿수의 위치를 나타내고, 자릿값을 1=''d''''k'' ∈ {0, 1}로 나타내면 다음과 같이 쓸 수 있다.
: dn-1 ⋯ d1 d0. d-1 ⋯ .
이는 다음 총합의 약기로 볼 수 있다.
: ∑kn-1 dk 2k = dn-12n-1 + ⋯ + 2d1 + d0 + d-1/2 + ⋯ .
예를 들어 십진법의 21.25는 이진법에서,
: 10101.012 = 16 + 4 + 1 + 1/4 = 21.25
로 표현된다(첨자 2는 이진 표기임을 나타낸다). 음수는 일반적인 기수법과 마찬가지로 음수 기호를 붙여 표현한다(예: -10101.012).
십진법 등 일반적인 위치 기수법과 마찬가지로, 이진법에서도 소수 부분이 유한한 길이가 되는 수는 일부 유리수에 한정되며, 원주율과 같은 무리수를 정확하게 표현할 수 없다. 이진법의 경우, 유리수를 나타내는 기약분수에 대해 분모가 2의 거듭제곱이라면 유한소수로 쓸 수 있지만, 그렇지 않다면 유한소수로 쓸 수 없다. 예를 들어 십진법에서는 1=5/1를 유한소수 0.2로 표현할 수 있지만, 이진법에서는 순환소수 0.2 = 0.00110011…2로 표현해야 한다.
'''이진법'''은 2를 밑으로 하는 수 체계이다.
일반적으로 이진법의 수사를 가진다고 여겨지는 것은 짝수로 세는 체계이며, 곱셈이 포함되지 않는다. 아래에 파푸아뉴기니의 남키와이어[44](Southern Kiwai) 및 시사노어[45](Sissano)의 수사를 보여준다.[47]
| 십진법 | 이진법 | 남키와이어 | 시사노어 |
|---|---|---|---|
| 1 | 1 | neis | puntanen |
| 2 | 10 | netewa | eltin |
| 3 | 11 | netewa nao | eltin puntanen |
| 4 | 100 | netewa netewa | eltin eltin |
| 5 | 101 | netewa netewa nao | eltin eltin puntanen |
현대 일본에서의 만진법 또는 십이진법 체계인 다스·그로스와 같이 2배씩 새로운 단위가 명명되는 체계는 자연어에서는 파푸아뉴기니의 멜파어[46](Melpa)에서만 알려져 있다.[47]
| 십진법 | 이진법 | 멜파어 |
|---|---|---|
| 1 | 1 | tenta |
| 2 | 10 | ralg |
| 3 | 11 | raltika |
| 4 | 100 | timbakaka |
| 5 | 101 | timbakaka pamb ti |
| 6 | 110 | timbakaka pamb ralg |
| 7 | 111 | timbakakagul raltika |
| 8 | 1000 | engaka |
| 9 | 1001 | engaka pamb ti |
| 10 | 1010 | engaka pamb ralg pip |
== 이진 자료 ==
이진법 형식으로 표시되는 자료이다. 두 가지의 대조되는 데이터를 구분할 때 유리하다. 예를 들어 생의학 실험에서 50명의 환자들의 치유 여부를 0(치유되지 않았다), 1(치유되었다)로 표시한다면 숫자만으로도 쉽게 자료를 구분할 수 있다.
2. 1. 이진 자료
이진 자료는 이진법 형식으로 표시되는 자료이다. 두 가지의 대조되는 데이터를 구분할 때 유리하다. 예를 들어 생의학 실험에서 50명의 환자들의 치유 여부를 0(치유되지 않았다), 1(치유되었다)로 표시한다면 숫자만으로도 쉽게 자료를 구분할 수 있다.3. 셈
이진법에서는 0과 1 두 가지 숫자만을 사용한다. 십진법과 달리, 이진법에서는 각 자리가 1을 넘으면 자리올림을 한다. 이진수는 십진수보다 자리수가 빠르게 늘어나는 경향이 있다. 일반적으로 십진수 n자리를 이진수로 표현하면 자리수가 된다.
| 이진수 | 십진수 | 이진수 | 십진수 | |
|---|---|---|---|---|
| 0 | 0 | 100 | 4 | |
| 1 | 1 | 101 | 5 | |
| 10 | 2 | 110 | 6 | |
| 11 | 3 | 111 | 7 |
이진법에서의 계산은 십진법과 유사한 절차를 따른다. 가장 오른쪽 자릿수(첫 번째 비트)에서 시작하여, '0'과 '1' 두 기호만을 사용한다. 이진수에서 비트가 1에 도달하면, 그 비트는 0으로 재설정되고 왼쪽의 다음 비트가 증가한다.
예를 들어, 이진수 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'''
4. 산술
십진법과 마찬가지로 이진법에서도 더하기, 빼기, 곱하기, 나누기, 제곱근 등의 산술연산을 할 수 있다. 이진법에서의 산술은 다른 위치 표기법 수 체계에서의 산술과 매우 유사하다. 이진수에 대해 덧셈, 뺄셈, 곱셈 및 나눗셈을 수행할 수 있다.
== 더하기 ==
이진법 더하기는 십진법 더하기와 유사하게 자리올림 규칙을 따르며, 십진법과 마찬가지로 덧셈을 할 수 있다. 10111(2)(십진수로 23)과 1101(2)(십진수로 13)을 더하면, 100100(2)(십진수로 36)이 된다.
: 0 + 0 → 0
: 0 + 1 → 1
: 1 + 0 → 1
: 1 + 1 → 0, 올림 1 (∵ 1 + 1 = 2 = 0 + (1 × 21))
여기서 올림은 윗 자리로 받아올려지는 수를 의미한다.
| style="width:1.5em" | | 0 | 1 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 10 |
이진법은 수가 0과 1 두개뿐이므로, 덧셈 결과의 경우의 수는 4가지밖에 없으며, 논리회로로 구성하기 쉽다. 두 비트를 더해주는 반가산기 회로를 통해 이진법 덧셈을 구현할 수 있다.
컴퓨터에서 두 숫자를 더할 때, x XOR y = (x + y) mod 2 규칙을 사용하면 두 비트 x와 y에 대한 빠른 계산이 가능하다.
긴 자리올림법(Long carry method)을 사용하면 덧셈 과정을 간소화할 수 있다. 예를 들어, 1 1 1 0 1 1 1 1 1 0₂(958₁₀)과 1 0 1 0 1 1 0 0 1 1₂(691₁₀)을 더할 때, 기존 자리올림법 대신 긴 자리올림법을 사용하면 자리올림 횟수를 줄일 수 있다.
== 빼기 ==
이진법에서 뺄셈은 십진법 뺄셈과 유사하게 윗자리에서 수를 받아내려올 때 2씩 받아내려오는 규칙을 지키면 된다. 예를 들어, 다음과 같이 계산할 수 있다.
2 2 2 2 (받아내림)
1 1 0 1 1 1 0
− 1 0 1 1 1
- ---------------
1 0 1 0 1 1 1
첫째 자리에서는 0에서 1을 빼야 하므로 윗자리에서 2를 받아내려 뺄셈을 한다 (2 - 1 = 1). 나머지 자리에 대해서도 같은 방식으로 뺄셈을 진행한다.
보수를 이용하면 뺄셈을 덧셈으로 바꿔 계산할 수 있다. 컴퓨터는 뺄셈을 할 때 이 방법을 사용한다. A-B를 계산할 때, B에 1의 보수를 적용하고 뺄셈을 덧셈으로 전환한다. 만약 올림수가 있으면 1을 더하고, 없으면 1의 보수를 다시 적용한다.
: 0 − 0 → 0
: 0 − 1 → 1, 내림 1
: 1 − 0 → 1
: 1 − 1 → 0
예를 들어, 11010(2)(십진수로 26)에서 1011010(2)(십진수로 90)을 빼면 다음과 같다.
1 1 1 1 (받아 내림)
1 1 0 1 0 1 0
− 1 0 0 1 1
- ---------------
1 0 0 0 1 1 0
+ 1 1
- ---------------
1 0 1 0 1 1 1
결과는 -1000000(2)이며, 이는 십진수 -64와 같다.
작은 수에서 큰 수를 뺄 때는 큰 수에서 작은 수를 뺀 다음 -1을 곱해야 한다.
양수를 빼는 것은 같은 절댓값을 갖는 음수를 더하는 것과 같다. 컴퓨터는 음수를 처리하기 위해 부호 있는 숫자 표현을 사용하며, 가장 일반적으로 2의 보수 표기법을 사용한다. 이 방식을 사용하면 뺄셈은 A − B = A + not B + 1 공식으로 요약할 수 있다.
== 곱하기 ==
이진수에서의 곱하기는 십진법과 마찬가지 방법으로 한다.
- 0 × 0 = 0
- 0 × 1 = 0
- 1 × 0 = 0
- 1 × 1 = 1
한 쪽이 0이면 무조건 0이 나오고, 한쪽이 1이면 무조건 반대쪽과 같은 수가 나온다는 성질 때문에 이진수의 곱셈은 십진수의 곱셈보다 간단하다.
: 1 0 1 1 (A)
: × 1 0 1 0 (B)
: ---------
: 0 0 0 0 ← B의 1의 자리가 0이므로 0.
: + 1 0 1 1 ← B의 10의 자리가 1이므로 A를 그대로 내려적음.
: + 0 0 0 0 ← B의 100의 자리가 0이므로 0.
: + 1 0 1 1 ← B의 1000의 자리가 1이므로 A를 그대로 내려적음.
: --------------- ← 모두 더한다.
: = 1 1 0 1 1 1 0
| style="width:1.5em" | | 1 | 1 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
이진수 곱셈표는 진리표와 같다.
== 나누기 ==
이진법에서의 나누기는 십진법의 나누기와 비슷하다. 예를 들어 11011(2) 나누기 101(2)는 십진법 27 나누기 5의 몫이 5고, 나머지가 2인 것과 결과가 같다.
```
1 0 1
___________
1 0 1 |1 1 0 1 1
− 1 0 1
- ----
0 0 1 1
− 0 0 0 0
- ------
0 0 1 1 1
− 0 0 1 0 1
- --------
0 0 0 1 0
```
2진수의 긴 나눗셈은 10진수의 긴 나눗셈과 유사하다.
제수는 1012 (10진수로 5)이고, 피제수는 110112 (10진수로 27)이다. 제수 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
```
따라서 1012로 나눈 110112의 몫은 1012이고, 나머지는 102이다. 10진수로는 5로 나눈 27이 5이고 나머지가 2라는 것과 일치한다.
== 제곱근 ==
이진법의 제곱근을 자릿수마다 구하는 과정은 십진법의 제곱근을 구하는 과정과 같다. 1010001(2)의 제곱근을 구하는 방법은 아래와 같다.
1 0 0 1
- --------
√ 1010001
1
- --------
101 01
0
- -------
1001 100
0
- -------
10001 10001
10001
- ------
0
1010001(2)의 제곱근은 1001(2)인데, 이는 십진법 81의 제곱근이 9라는 것과 일치한다.
4. 1. 더하기
이진법 더하기는 십진법 더하기와 유사하게 자리올림 규칙을 따르며, 십진법과 마찬가지로 덧셈을 할 수 있다. 10111(2)(십진수로 23)과 1101(2)(십진수로 13)을 더하면, 100100(2)(십진수로 36)이 된다.: 0 + 0 → 0
: 0 + 1 → 1
: 1 + 0 → 1
: 1 + 1 → 0, 올림 1 (∵ 1 + 1 = 2 = 0 + (1 × 21))
여기서 올림은 윗 자리로 받아올려지는 수를 의미한다.
| style="width:1.5em" | | 0 | 1 |
|---|---|---|
| 0 | 0 | 1 |
| 1 | 1 | 10 |
이진법은 수가 0과 1 두개뿐이므로, 덧셈 결과의 경우의 수는 4가지밖에 없으며, 논리회로로 구성하기 쉽다. 두 비트를 더해주는 반가산기 회로를 통해 이진법 덧셈을 구현할 수 있다.
컴퓨터에서 두 숫자를 더할 때, x XOR y = (x + y) mod 2 규칙을 사용하면 두 비트 x와 y에 대한 빠른 계산이 가능하다.
긴 자리올림법(Long carry method)을 사용하면 덧셈 과정을 간소화할 수 있다. 예를 들어, 1 1 1 0 1 1 1 1 1 0₂(958₁₀)과 1 0 1 0 1 1 0 0 1 1₂(691₁₀)을 더할 때, 기존 자리올림법 대신 긴 자리올림법을 사용하면 자리올림 횟수를 줄일 수 있다.
4. 2. 빼기
이진법에서 뺄셈은 십진법 뺄셈과 유사하게 윗자리에서 수를 받아내려올 때 2씩 받아내려오는 규칙을 지키면 된다. 예를 들어, 다음과 같이 계산할 수 있다.2 2 2 2 (받아내림)
1
− 1 0 1 1 1
- ---------------
1 0 1 0 1 1 1
첫째 자리에서는 0에서 1을 빼야 하므로 윗자리에서 2를 받아내려 뺄셈을 한다 (2 - 1 = 1). 나머지 자리에 대해서도 같은 방식으로 뺄셈을 진행한다.
보수를 이용하면 뺄셈을 덧셈으로 바꿔 계산할 수 있다. 컴퓨터는 뺄셈을 할 때 이 방법을 사용한다. A-B를 계산할 때, B에 1의 보수를 적용하고 뺄셈을 덧셈으로 전환한다. 만약 올림수가 있으면 1을 더하고, 없으면 1의 보수를 다시 적용한다.
: 0 − 0 → 0
: 0 − 1 → 1, 내림 1
: 1 − 0 → 1
: 1 − 1 → 0
예를 들어, 11010(2)(십진수로 26)에서 1011010(2)(십진수로 90)을 빼면 다음과 같다.
1 1 1 1 (받아 내림)
1 1 0 1 0 1 0
− 1 0 0 1 1
- ---------------
1 0 0 0 1 1 0
+ 1 1
- ---------------
1 0 1 0 1 1 1
결과는 -1000000(2)이며, 이는 십진수 -64와 같다.
작은 수에서 큰 수를 뺄 때는 큰 수에서 작은 수를 뺀 다음 -1을 곱해야 한다.
양수를 빼는 것은 같은 절댓값을 갖는 음수를 더하는 것과 같다. 컴퓨터는 음수를 처리하기 위해 부호 있는 숫자 표현을 사용하며, 가장 일반적으로 2의 보수 표기법을 사용한다. 이 방식을 사용하면 뺄셈은 A − B = A + not B + 1 공식으로 요약할 수 있다.
4. 3. 곱하기
이진수에서의 곱하기는 십진법과 마찬가지 방법으로 한다.- 0 × 0 = 0
- 0 × 1 = 0
- 1 × 0 = 0
- 1 × 1 = 1
한 쪽이 0이면 무조건 0이 나오고, 한쪽이 1이면 무조건 반대쪽과 같은 수가 나온다는 성질 때문에 이진수의 곱셈은 십진수의 곱셈보다 간단하다.
: 1 0 1 1 (A)
: × 1 0 1 0 (B)
: ---------
: 0 0 0 0 ← B의 1의 자리가 0이므로 0.
: + 1 0 1 1 ← B의 10의 자리가 1이므로 A를 그대로 내려적음.
: + 0 0 0 0 ← B의 100의 자리가 0이므로 0.
: + 1 0 1 1 ← B의 1000의 자리가 1이므로 A를 그대로 내려적음.
: --------------- ← 모두 더한다.
: = 1 1 0 1 1 1 0
| style="width:1.5em" | | 1 | 1 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
이진수 곱셈표는 진리표와 같다.
4. 4. 나누기
이진법에서의 나누기는 십진법의 나누기와 비슷하다. 예를 들어 11011(2) 나누기 101(2)는 십진법 27 나누기 5의 몫이 5고, 나머지가 2인 것과 결과가 같다.```
1 0 1
___________
1 0 1 |1 1 0 1 1
− 1 0 1
- ----
0 0 1 1
− 0 0 0 0
- ------
0 0 1 1 1
− 0 0 1 0 1
- --------
0 0 0 1 0
```
2진수의 긴 나눗셈은 10진수의 긴 나눗셈과 유사하다.
제수는 1012 (10진수로 5)이고, 피제수는 110112 (10진수로 27)이다. 제수 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
```
따라서 1012로 나눈 110112의 몫은 1012이고, 나머지는 102이다. 10진수로는 5로 나눈 27이 5이고 나머지가 2라는 것과 일치한다.
4. 5. 제곱근
이진법의 제곱근을 자릿수마다 구하는 과정은 십진법의 제곱근을 구하는 과정과 같다. 1010001(2)의 제곱근을 구하는 방법은 아래와 같다.1 0 0 1
- --------
√ 1010001
1
- --------
101 01
0
- -------
1001 100
0
- -------
10001 10001
10001
- ------
0
1010001(2)의 제곱근은 1001(2)인데, 이는 십진법 81의 제곱근이 9라는 것과 일치한다.
5. 십진법과의 관계
일반적으로 이진법의 번째 자리수는 크기를 갖는다. 따라서 이진법 110010101101(2)은 다음과 같이 변환된다.
: 이진법: 1 1 0 0 1 0 1 0 1 1 0 1
: 십진법: 1×211 + 1×210 + 0×29 + 0×28 + 1×27 + 0×26 + 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 3245
다음과 같은 방법으로도 이진법을 십진법으로 바꿀 수 있다.
| 전의 값 | × 2 + | 다음 자리 | 다음 값 |
|---|---|---|---|
| = 0 | |||
| 0 | × 2 + | 1 | = 1 |
| 1 | × 2 + | 1 | = 3 |
| 3 | × 2 + | 0 | = 6 |
| 6 | × 2 + | 0 | = 12 |
| 12 | × 2 + | 1 | = 25 |
| 25 | × 2 + | 0 | = 50 |
| 50 | × 2 + | 1 | = 101 |
| 101 | × 2 + | 0 | = 202 |
| 202 | × 2 + | 1 | = 405 |
| 405 | × 2 + | 1 | = 811 |
| 811 | × 2 + | 0 | = 1622 |
| 1622 | × 2 + | 1 | = 3245 |
양의 정수 m을 십진법에서 이진법으로 변환하는 방법은 다음과 같다.
1. m을 x에 대입한다.
2. x를 2로 나누고 나머지를 구한다.
3. x/2의 몫을 x에 대입한다.
4. 2번으로 돌아가며, x=0이면 종료한다.
나머지를 구한 순서의 역순으로 나열하면 이진법으로 변환된 결과가 된다.
예: '''192'''를 이진법으로 변환.
2)192 192=20×192
2) 96…'''0''' 192=21× 96+20×0
2) 48…'''0''' 192=22× 48+21×0+20×0
2) 24…'''0''' 192=23× 24+22×0+21×0+20×0
2) 12…'''0''' 192=24× 12+23×0+22×0+21×0+20×0
2) 6…'''0''' 192=25× 6+24×0+23×0+22×0+21×0+20×0
2) 3…'''0''' 192=26× 3+25×0+24×0+23×0+22×0+21×0+20×0
2) 1…'''1''' 192=27× 1+26×1+25×0+24×0+23×0+22×0+21×0+20×0
0…'''1'''
따라서 19210 = 110000002 이다.
6. 역사
고대 이집트 서기관들은 분수에 대해 두 가지 다른 체계를 사용했는데, 이집트 분수(이진법과는 관련이 없음)와 호루스 눈 분수이다. 수학 역사가들 중 다수는 호루스 눈 분수 체계에 사용된 기호들을 배열하면 호루스의 눈을 형성할 수 있다고 믿지만, 이는 논란의 여지가 있다.[2] 호루스 눈 분수는 곡물, 액체 또는 기타 측정 단위의 분수량을 위한 이진법 수 체계로, 헤카트의 분수를 1/2, 1/4, 1/8, 1/16, 1/32, 1/64의 이진 분수의 합으로 표현한다. 이 체계의 초기 형태는 기원전 약 2400년경 이집트 제5왕조의 문서에서 찾아볼 수 있으며, 완전히 발달된 상형 문자 형태는 기원전 약 1200년경 이집트 제19왕조에 나타난다.[3]
고대 이집트 곱셈에 사용된 방법 또한 이진수와 밀접하게 관련되어 있다. 이 방법에서 두 번째 수에 첫 번째 수를 곱하는 것은 값(처음에는 두 수 중 첫 번째 수)을 두 배로 하거나 첫 번째 수를 다시 더하는 단계들의 순서로 수행되며, 이 단계들을 수행하는 순서는 두 번째 수의 이진 표현으로 주어졌다. 이 방법은 예를 들어 기원전 약 1650년경의 린드 수학 파피루스에서 사용되는 것을 볼 수 있다.[4]
주역(易經)은 기원전 9세기에 중국에서 유래되었다.[5] 도가의 음양(陰陽) 이원론에 기반한[6] 『주역』의 이진법 표기는 4진수 점복 기법을 해석하는 데 사용되었다.[7] 팔괘(八卦)와 육십사괘("64" 괘)는 3비트 및 6비트 이진수와 유사하며, 적어도 고대 중국의 주나라 시대부터 사용되었다.[5]
송나라의 학자 소옹(邵雍, 1011–1077)은 육십사괘를 현대 이진수와 유사한 형태로 재배열하였으나, 그의 배열이 수학적으로 사용될 의도는 아니었다.[7] 소옹의 64괘 배열에서 각 괘의 최하위 비트를 위쪽에 놓고[8] 오른쪽 아래에서 왼쪽 위로(실선을 0, 단선을 1로) 또는 왼쪽 위에서 오른쪽 아래로(실선을 1, 단선을 0으로) 읽으면 0부터 63까지의 수열로 해석할 수 있다.[9]
중국에는 예로부터 역(易)의 팔괘(八卦)와 육십사괘(六十四卦)가 있으며, 각각 3비트와 6비트에 상당한다. 역경(易經)의 육십사괘 배열은 대응하는 정수의 순서로 되어 있으며, 그것들을 1→2→4→8→16→32→64로 진전시키는 ‘가일배의 법’을 11세기의 유학자 소옹(邵雍)이 고안했다. 다만, 그들이 그것을 정수(나아가 수)에 대응한다고 이해하고 있었다는 증거는 없다. 그 배열은 각각이 두 종류의 값을 취하는 요소의 6튜플을 사전식 순서로 나열한 것으로 볼 수도 있다.
고트프리트 라이프니츠는 친중파(シノフィリア)이기도 했으며, 후에 「역경」을 알고, 그 팔괘에 000부터 111을 대응시켜, 그가 칭찬해 온 중국의 철학적 수학의 위대한 성과의 증거라고 했다.[48]
에트루리아인들은 점복에 사용되는 간(肝)의 바깥 가장자리를 16개의 부분으로 나누고, 각 부분에 신의 이름과 하늘의 영역을 새겼다. 각 간의 영역은 이진법적 해석을 산출했고, 이것들이 결합되어 최종적인 점복 결과가 만들어졌다.[10]
고대 그리스 도도나 신탁의 점복은 질문이 적힌 조각과 "예"와 "아니오"가 적힌 알갱이를 담은 별도의 항아리에서 꺼내는 방식으로 이루어졌다. 그 결과를 종합하여 최종적인 예언을 만들었다.[11]
인도의 학자 핑갈라(기원전 2세기경)는 운율을 기술하기 위한 이진법 체계를 개발했다.[12][13] 그는 단음절과 장음절(장음절은 단음절 두 개의 길이와 같다)의 형태로 운율을 기술했는데,[14] 각각 ''라구''(가벼운)와 ''구루''(무거운) 음절로 알려져 있다.
핑갈라의 찬다샤스트라(8.23)라는 힌두 고전은 각 운율에 고유한 값을 부여하기 위해 행렬의 형성을 설명하고 있다. "찬다샤스트라"는 산스크리트어로 "운율의 과학"으로 번역된다. 핑갈라 체계의 이진 표현은 오른쪽으로 증가하며, 현대 위치 표기법의 이진수처럼 왼쪽으로 증가하지 않는다.[15] 핑갈라의 체계에서는 숫자가 0이 아닌 1부터 시작한다. 네 개의 단음절 "0000"은 첫 번째 패턴이며 값 1에 해당한다. 숫자 값은 자릿값의 합에 1을 더하여 얻는다.[16]
이파(Ifá)는 아프리카의 점복 시스템으로, 주역과 유사하지만 더 많은 이진 부호를 사용한다.[17] 이파는 15세기 서아프리카의 요루바족 사이에서 유래했다.[18] 2008년 유네스코(UNESCO)는 이파를 "인류 무형유산 걸작(Masterpieces of the Oral and Intangible Heritage of Humanity)" 목록에 추가했다.[18]
유사한 이진법적 조합은 아프리카의 요루바인이 행했던 점술 Ifá와 중세 유럽과 아프리카의 지오만시에서 찾을 수 있다. 사하라 이남 아프리카에서는 2를 밑으로 하는 체계가 지오만시에 오랫동안 사용되었다.
프랑스령 폴리네시아의 망가레바 섬 주민들은 1450년 이전에 혼합 이진-십진법 체계를 사용했다.[19] 아프리카와 아시아에서는 이진 음색을 사용하는 슬릿 드럼으로 메시지를 전달했다.[6] 대부분의 오스트레일리아 원주민 언어는 2진법 체계를 사용한다.[20]
중국에는 예로부터 역(易)의 팔괘(八卦)와 육십사괘(六十四卦)가 있으며, 각각 3비트와 6비트에 상당한다. 역경(易經)의 육십사괘 배열은 대응하는 정수의 순서로 되어 있으며, 그것들을 1→2→4→8→16→32→64로 진전시키는 ‘가일배의 법’을 11세기의 유학자 소옹(邵雍)이 고안했다. 다만, 그들이 그것을 정수(나아가 수)에 대응한다고 이해하고 있었다는 증거는 없다.[49][50]
인도의 학자 핀갈라(Pingala)(Pingala)는 기원전 200년경 운율을 수학적으로 표현하는 방법을 고안했으며, 현재 알려진 가장 오래된 이진법 기록 중 하나이다. 유사한 이진법적 조합은 아프리카 요루바인의 점술 Ifá와 중세 유럽 및 아프리카의 지오만시에서도 볼 수 있다. 사하라 이남 아프리카에서 지오만시는 2를 밑으로 하는 체계가 오랫동안 사용되었다.
1605년, 프랜시스 베이컨은 알파벳 문자를 2종류 기호 열로 나타내는 체계를 논했고, 임의 무작위 텍스트에서 미세하게 판별 가능한 글꼴 변화에 부호화할 수 있다고 했다. 그는 두 종류의 다른 상태를 표현할 수 있으면 종(鐘), 나팔(トランペット), 빛(光), 횃불(松明), 머스켓총(マスケット銃) 등 유사한 성질이 있으면 어떤 것이든 좋다고 했다.[51] 이를 라고 부른다.
17세기 고트프리트 라이프니츠는 "Explication de l'Arithmétique Binaire"라는 논문을 통해 수학적으로 이진법을 확립했다. 라이프니츠는 1과 0을 사용하여 이진법을 나타냈으며, 친중파(シノフィリア)이기도 했던 그는 역경의 팔괘에 000부터 111을 대응시켜 중국 철학적 수학의 위대한 성과라고 칭찬했다.[48]
1800년대 중반, 영국의 수학자 조지 불은 불 대수(불 논리)를 통해 이진수 대수에 의한 명제 논리의 형식화를 보였다.
1936-1937년 나카지마 아키라와 하루사와 마사오의 「계전기 회로에 있어서의 단부분로의 등가변환의 이론」, 1937년 클로드 섀넌의 [52]
에 의해 계전기 같은 스위칭 소자를 이용한 회로(디지털 회로) 설계가 불 대수에 의해 가능하다는 것이 밝혀졌고, 1940년대부터 이어지는 컴퓨터 이론의 기초가 되었다.
13세기 후반 라마온 유율(Ramon Llull)은 인간 지식의 모든 분야에서 모든 지혜를 설명하려는 야망을 가졌다. 이를 위해 그는 여러 개의 단순한 기본 원리 또는 범주들의 2진 조합을 기반으로 하는 일반적인 방법 또는 "Ars generalis"를 개발했으며, 이 때문에 그는 컴퓨터 과학과 인공 지능의 선구자로 여겨져 왔다.[21]
1605년 프랜시스 베이컨(Francis Bacon)은 알파벳 문자를 2진수의 순서로 축소하여 임의의 텍스트에서 거의 보이지 않는 글꼴 변형으로 인코딩할 수 있는 시스템을 논의했다.[22] 베이컨 암호(Bacon's cipher) 일반적인 2진 인코딩 이론에 중요한 것은 그가 이 방법을 어떤 객체에도 사용할 수 있다고 덧붙인 것이다. "단지 두 가지 차이만 가능한 객체를 제공한다면; 종, 나팔, 불빛과 횃불, 머스켓의 보고 그리고 같은 종류의 악기로."[22]
1617년 존 네이피어(John Napier)는 문자를 사용한 비위치 표현으로 2진수 계산을 수행하기 위한 위치 산술(location arithmetic)이라고 하는 시스템을 설명했다. 토마스 해리엇(Thomas Harriot)은 2진수를 포함한 여러 위치적 숫자 체계를 조사했지만 그의 결과를 발표하지 않았다. 그것은 나중에 그의 논문에서 발견되었다.[23] 아마도 유럽에서 이 시스템의 최초 출판은 1700년 후안 카라무엘 이 로브코비츠(Juan Caramuel y Lobkowitz)에 의한 것이었다.[24]
라이프니츠는 이진법에 관한 100편이 넘는 원고를 작성했으며, 그 대부분은 출판되지 않았다.[25] 1679년 그의 첫 번째 이진법 관련 저술 이전에도 수많은 원고에서 숫자표와 기본적인 계산 등 이진법 개념을 탐구하려는 초기 시도가 나타나며, 종종 수학과 관련 없는 저술의 여백에 휘갈겨 적혀 있다.[25]
그의 첫 번째 알려진 이진법 관련 저술인 1679년의 ''“이진법적 진행에 관하여”''에서 라이프니츠는 십진법과 이진법 간의 변환과 이진수를 사용한 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 기본적인 산술 연산을 수행하기 위한 알고리즘을 소개했다.[25]
그의 가장 잘 알려진 저술은 1703년에 출판된 논문 ''Explication de l'Arithmétique Binaire''에 실려 있다. 라이프니츠 논문의 전체 제목은 영어로 ''"1과 0만 사용하는 이진 산술에 대한 설명, 그 유용성에 대한 몇 가지 논평과 그것이 고대 중국 복희의 그림에 던지는 빛"''으로 번역된다.[26] 라이프니츠의 시스템은 현대 이진수 체계와 마찬가지로 0과 1을 사용한다.[26]
1700년 중국에서 선교사로 활동하면서 ''주역'' 전문가가 된 예수회 사제 조아킴 부베와 서신을 교환하는 동안 라이프니츠는 자신의 이진 표기법을 설명했고, 부베는 1701년 편지에서 ''주역''이 독립적이고 병행적인 이진 표기법의 발명이었음을 보여주었다.
라이프니츠와 부베는 이러한 매핑이 라이프니츠가 존경했던 철학적 수학에서 중국이 이룬 주요 업적의 증거라고 결론지었다.[27] 이 병행 발명에 대해 라이프니츠는 그의 "이진 산술에 대한 설명"에서 "이렇게 오랜 시간이 지난 후에 그 의미를 회복하는 것은 더욱 흥미로울 것이다"라고 썼다.[28]
이러한 관계는 그의 보편적인 언어 또는 보편 언어 개념의 중심적인 아이디어였으며, 고틀로브 프레게와 조지 불과 같은 그의 후계자들이 현대 기호 논리를 형성하는 데 밀접하게 따랐던 인기 있는 아이디어였다.[29]
라이프니츠는 1685년 선교사로 중국을 방문했던 프랑스 예수회 사제 조아킴 부베와의 접촉을 통해 처음으로 ''주역''을 접했다. 라이프니츠는 ''주역''의 육효를 자신의 기독교 신앙의 보편성을 확인하는 것으로 보았다.[30] 이진수는 라이프니츠의 신학의 중심이었다. 그는 이진수가 기독교적 개념인 ''무에서의 창조'' 즉 무에서의 창조를 상징한다고 믿었다.[31]
조지 불(George Boole)은 1854년에 논리의 대수적 체계를 상세히 설명하는 획기적인 논문을 발표했으며, 이는 불 대수로 알려지게 되었다. 불의 논리적 계산법은 디지털 전자 회로 설계에 중요한 역할을 하게 되었다.[32]
1936-1937년의 나카지마 아키라와 하루사와 마사오에 의한 「계전기 회로에 있어서의 단부분로의 등가변환의 이론」, 1937년 클로드 섀넌(Claude Shannon)은 MIT에서 석사 논문을 발표했는데, 이 논문에서는 최초로 전자 계전기와 스위치를 사용하여 불 대수와 이진 산술을 구현했다.[52] 섀넌의 논문 ''A Symbolic Analysis of Relay and Switching Circuits''는 실질적으로 실용적인 디지털 회로 설계의 기초를 마련했다.[33]
1937년 11월, 벨 연구소(Bell Labs)에서 근무하던 조지 스티비츠(George Stibitz)는 계전기를 기반으로 하는 컴퓨터 "Model K"를 완성했는데, 이 컴퓨터는 이진 덧셈을 사용하여 계산했다.[34] 콘라트 추제(Konrad Zuse)는 1935년부터 1938년 사이에 Z1 컴퓨터를 설계 및 제작했으며, 불 대수와 이진 부동소수점을 사용했다.[38]
6. 1. 고대 이집트
고대 이집트 서기관들은 분수에 대해 두 가지 다른 체계를 사용했는데, 이집트 분수(이진법과는 관련이 없음)와 호루스 눈 분수이다. 수학 역사가들 중 다수는 호루스 눈 분수 체계에 사용된 기호들을 배열하면 호루스의 눈을 형성할 수 있다고 믿지만, 이는 논란의 여지가 있다.[2] 호루스 눈 분수는 곡물, 액체 또는 기타 측정 단위의 분수량을 위한 이진법 수 체계로, 헤카트의 분수를 1/2, 1/4, 1/8, 1/16, 1/32, 1/64의 이진 분수의 합으로 표현한다. 이 체계의 초기 형태는 기원전 약 2400년경 이집트 제5왕조의 문서에서 찾아볼 수 있으며, 완전히 발달된 상형 문자 형태는 기원전 약 1200년경 이집트 제19왕조에 나타난다.[3]
고대 이집트 곱셈에 사용된 방법 또한 이진수와 밀접하게 관련되어 있다. 이 방법에서 두 번째 수에 첫 번째 수를 곱하는 것은 값(처음에는 두 수 중 첫 번째 수)을 두 배로 하거나 첫 번째 수를 다시 더하는 단계들의 순서로 수행되며, 이 단계들을 수행하는 순서는 두 번째 수의 이진 표현으로 주어졌다. 이 방법은 예를 들어 기원전 약 1650년경의 린드 수학 파피루스에서 사용되는 것을 볼 수 있다.[4]
6. 2. 중국
주역(易經)은 기원전 9세기에 중국에서 유래되었다.[5] 도가의 음양(陰陽) 이원론에 기반한[6] 『주역』의 이진법 표기는 4진수 점복 기법을 해석하는 데 사용되었다.[7] 팔괘(八卦)와 육십사괘("64" 괘)는 3비트 및 6비트 이진수와 유사하며, 적어도 고대 중국의 주나라 시대부터 사용되었다.[5]송나라의 학자 소옹(邵雍, 1011–1077)은 육십사괘를 현대 이진수와 유사한 형태로 재배열하였으나, 그의 배열이 수학적으로 사용될 의도는 아니었다.[7] 소옹의 64괘 배열에서 각 괘의 최하위 비트를 위쪽에 놓고[8] 오른쪽 아래에서 왼쪽 위로(실선을 0, 단선을 1로) 또는 왼쪽 위에서 오른쪽 아래로(실선을 1, 단선을 0으로) 읽으면 0부터 63까지의 수열로 해석할 수 있다.[9]
중국에는 예로부터 역(易)의 팔괘(八卦)와 육십사괘(六十四卦)가 있으며, 각각 3비트와 6비트에 상당한다. 역경(易經)의 육십사괘 배열은 대응하는 정수의 순서로 되어 있으며, 그것들을 1→2→4→8→16→32→64로 진전시키는 ‘가일배의 법’을 11세기의 유학자 소옹(邵雍)이 고안했다. 다만, 그들이 그것을 정수(나아가 수)에 대응한다고 이해하고 있었다는 증거는 없다. 그 배열은 각각이 두 종류의 값을 취하는 요소의 6튜플을 사전식 순서로 나열한 것으로 볼 수도 있다.
고트프리트 라이프니츠는 친중파(シノフィリア)이기도 했으며, 후에 「역경」을 알고, 그 팔괘에 000부터 111을 대응시켜, 그가 칭찬해 온 중국의 철학적 수학의 위대한 성과의 증거라고 했다.[48]
6. 3. 고대 그리스
에트루리아인들은 점복에 사용되는 간(肝)의 바깥 가장자리를 16개의 부분으로 나누고, 각 부분에 신의 이름과 하늘의 영역을 새겼다. 각 간의 영역은 이진법적 해석을 산출했고, 이것들이 결합되어 최종적인 점복 결과가 만들어졌다.[10]고대 그리스 도도나 신탁의 점복은 질문이 적힌 조각과 "예"와 "아니오"가 적힌 알갱이를 담은 별도의 항아리에서 꺼내는 방식으로 이루어졌다. 그 결과를 종합하여 최종적인 예언을 만들었다.[11]
6. 4. 인도
인도의 학자 핑갈라(기원전 2세기경)는 운율을 기술하기 위한 이진법 체계를 개발했다.[12][13] 그는 단음절과 장음절(장음절은 단음절 두 개의 길이와 같다)의 형태로 운율을 기술했는데,[14] 각각 ''라구''(가벼운)와 ''구루''(무거운) 음절로 알려져 있다.핑갈라의 찬다샤스트라(8.23)라는 힌두 고전은 각 운율에 고유한 값을 부여하기 위해 행렬의 형성을 설명하고 있다. "찬다샤스트라"는 산스크리트어로 "운율의 과학"으로 번역된다. 핑갈라 체계의 이진 표현은 오른쪽으로 증가하며, 현대 위치 표기법의 이진수처럼 왼쪽으로 증가하지 않는다.[15] 핑갈라의 체계에서는 숫자가 0이 아닌 1부터 시작한다. 네 개의 단음절 "0000"은 첫 번째 패턴이며 값 1에 해당한다. 숫자 값은 자릿값의 합에 1을 더하여 얻는다.[16]
6. 5. 아프리카
이파(Ifá)는 아프리카의 점복 시스템으로, 주역과 유사하지만 더 많은 이진 부호를 사용한다.[17] 이파는 15세기 서아프리카의 요루바족 사이에서 유래했다.[18] 2008년 유네스코(UNESCO)는 이파를 "인류 무형유산 걸작(Masterpieces of the Oral and Intangible Heritage of Humanity)" 목록에 추가했다.[18]유사한 이진법적 조합은 아프리카의 요루바인이 행했던 점술 Ifá와 중세 유럽과 아프리카의 지오만시에서 찾을 수 있다. 사하라 이남 아프리카에서는 2를 밑으로 하는 체계가 지오만시에 오랫동안 사용되었다.
6. 6. 기타 문화
프랑스령 폴리네시아의 망가레바 섬 주민들은 1450년 이전에 혼합 이진-십진법 체계를 사용했다.[19] 아프리카와 아시아에서는 이진 음색을 사용하는 슬릿 드럼으로 메시지를 전달했다.[6] 대부분의 오스트레일리아 원주민 언어는 2진법 체계를 사용한다.[20]중국에는 예로부터 역(易)의 팔괘(八卦)와 육십사괘(六十四卦)가 있으며, 각각 3비트와 6비트에 상당한다. 역경(易經)의 육십사괘 배열은 대응하는 정수의 순서로 되어 있으며, 그것들을 1→2→4→8→16→32→64로 진전시키는 ‘가일배의 법’을 11세기의 유학자 소옹(邵雍)이 고안했다. 다만, 그들이 그것을 정수(나아가 수)에 대응한다고 이해하고 있었다는 증거는 없다.[49][50]
인도의 학자 핀갈라(Pingala)(Pingala)는 기원전 200년경 운율을 수학적으로 표현하는 방법을 고안했으며, 현재 알려진 가장 오래된 이진법 기록 중 하나이다. 유사한 이진법적 조합은 아프리카 요루바인의 점술 Ifá와 중세 유럽 및 아프리카의 지오만시에서도 볼 수 있다. 사하라 이남 아프리카에서 지오만시는 2를 밑으로 하는 체계가 오랫동안 사용되었다.
1605년, 프랜시스 베이컨은 알파벳 문자를 2종류 기호 열로 나타내는 체계를 논했고, 임의 무작위 텍스트에서 미세하게 판별 가능한 글꼴 변화에 부호화할 수 있다고 했다. 그는 두 종류의 다른 상태를 표현할 수 있으면 종(鐘), 나팔(トランペット), 빛(光), 횃불(松明), 머스켓총(マスケット銃) 등 유사한 성질이 있으면 어떤 것이든 좋다고 했다.[51] 이를 라고 부른다.
17세기 고트프리트 라이프니츠는 "Explication de l'Arithmétique Binaire"라는 논문을 통해 수학적으로 이진법을 확립했다. 라이프니츠는 1과 0을 사용하여 이진법을 나타냈으며, 친중파(シノフィリア)이기도 했던 그는 역경의 팔괘에 000부터 111을 대응시켜 중국 철학적 수학의 위대한 성과라고 칭찬했다.[48]
1800년대 중반, 영국의 수학자 조지 불은 불 대수(불 논리)를 통해 이진수 대수에 의한 명제 논리의 형식화를 보였다.
1936-1937년 나카지마 아키라와 하루사와 마사오의 「계전기 회로에 있어서의 단부분로의 등가변환의 이론」, 1937년 클로드 섀넌의 [52]
에 의해 계전기 같은 스위칭 소자를 이용한 회로(디지털 회로) 설계가 불 대수에 의해 가능하다는 것이 밝혀졌고, 1940년대부터 이어지는 컴퓨터 이론의 기초가 되었다.
6. 7. 라이프니츠 이전의 서양
13세기 후반 라마온 유율(Ramon Llull)은 인간 지식의 모든 분야에서 모든 지혜를 설명하려는 야망을 가졌다. 이를 위해 그는 여러 개의 단순한 기본 원리 또는 범주들의 2진 조합을 기반으로 하는 일반적인 방법 또는 "Ars generalis"를 개발했으며, 이 때문에 그는 컴퓨터 과학과 인공 지능의 선구자로 여겨져 왔다.[21]1605년 프랜시스 베이컨(Francis Bacon)은 알파벳 문자를 2진수의 순서로 축소하여 임의의 텍스트에서 거의 보이지 않는 글꼴 변형으로 인코딩할 수 있는 시스템을 논의했다.[22] 베이컨 암호(Bacon's cipher) 일반적인 2진 인코딩 이론에 중요한 것은 그가 이 방법을 어떤 객체에도 사용할 수 있다고 덧붙인 것이다. "단지 두 가지 차이만 가능한 객체를 제공한다면; 종, 나팔, 불빛과 횃불, 머스켓의 보고 그리고 같은 종류의 악기로."[22]
1617년 존 네이피어(John Napier)는 문자를 사용한 비위치 표현으로 2진수 계산을 수행하기 위한 위치 산술(location arithmetic)이라고 하는 시스템을 설명했다. 토마스 해리엇(Thomas Harriot)은 2진수를 포함한 여러 위치적 숫자 체계를 조사했지만 그의 결과를 발표하지 않았다. 그것은 나중에 그의 논문에서 발견되었다.[23] 아마도 유럽에서 이 시스템의 최초 출판은 1700년 후안 카라무엘 이 로브코비츠(Juan Caramuel y Lobkowitz)에 의한 것이었다.[24]
6. 8. 라이프니츠
라이프니츠는 이진법에 관한 100편이 넘는 원고를 작성했으며, 그 대부분은 출판되지 않았다.[25] 1679년 그의 첫 번째 이진법 관련 저술 이전에도 수많은 원고에서 숫자표와 기본적인 계산 등 이진법 개념을 탐구하려는 초기 시도가 나타나며, 종종 수학과 관련 없는 저술의 여백에 휘갈겨 적혀 있다.[25]
그의 첫 번째 알려진 이진법 관련 저술인 1679년의 ''“이진법적 진행에 관하여”''에서 라이프니츠는 십진법과 이진법 간의 변환과 이진수를 사용한 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 기본적인 산술 연산을 수행하기 위한 알고리즘을 소개했다.[25]
그의 가장 잘 알려진 저술은 1703년에 출판된 논문 ''Explication de l'Arithmétique Binaire''에 실려 있다. 라이프니츠 논문의 전체 제목은 영어로 ''"1과 0만 사용하는 이진 산술에 대한 설명, 그 유용성에 대한 몇 가지 논평과 그것이 고대 중국 복희의 그림에 던지는 빛"''으로 번역된다.[26] 라이프니츠의 시스템은 현대 이진수 체계와 마찬가지로 0과 1을 사용한다.[26]
1700년 중국에서 선교사로 활동하면서 ''주역'' 전문가가 된 예수회 사제 조아킴 부베와 서신을 교환하는 동안 라이프니츠는 자신의 이진 표기법을 설명했고, 부베는 1701년 편지에서 ''주역''이 독립적이고 병행적인 이진 표기법의 발명이었음을 보여주었다.
라이프니츠와 부베는 이러한 매핑이 라이프니츠가 존경했던 철학적 수학에서 중국이 이룬 주요 업적의 증거라고 결론지었다.[27] 이 병행 발명에 대해 라이프니츠는 그의 "이진 산술에 대한 설명"에서 "이렇게 오랜 시간이 지난 후에 그 의미를 회복하는 것은 더욱 흥미로울 것이다"라고 썼다.[28]
이러한 관계는 그의 보편적인 언어 또는 보편 언어 개념의 중심적인 아이디어였으며, 고틀로브 프레게와 조지 불과 같은 그의 후계자들이 현대 기호 논리를 형성하는 데 밀접하게 따랐던 인기 있는 아이디어였다.[29]
라이프니츠는 1685년 선교사로 중국을 방문했던 프랑스 예수회 사제 조아킴 부베와의 접촉을 통해 처음으로 ''주역''을 접했다. 라이프니츠는 ''주역''의 육효를 자신의 기독교 신앙의 보편성을 확인하는 것으로 보았다.[30] 이진수는 라이프니츠의 신학의 중심이었다. 그는 이진수가 기독교적 개념인 ''무에서의 창조'' 즉 무에서의 창조를 상징한다고 믿었다.[31]
6. 9. 이후의 발전
조지 불(George Boole)은 1854년에 논리의 대수적 체계를 상세히 설명하는 획기적인 논문을 발표했으며, 이는 불 대수로 알려지게 되었다. 불의 논리적 계산법은 디지털 전자 회로 설계에 중요한 역할을 하게 되었다.[32]1936-1937년의 나카지마 아키라와 하루사와 마사오에 의한 「계전기 회로에 있어서의 단부분로의 등가변환의 이론」, 1937년 클로드 섀넌(Claude Shannon)은 MIT에서 석사 논문을 발표했는데, 이 논문에서는 최초로 전자 계전기와 스위치를 사용하여 불 대수와 이진 산술을 구현했다.[52] 섀넌의 논문 ''A Symbolic Analysis of Relay and Switching Circuits''는 실질적으로 실용적인 디지털 회로 설계의 기초를 마련했다.[33]
1937년 11월, 벨 연구소(Bell Labs)에서 근무하던 조지 스티비츠(George Stibitz)는 계전기를 기반으로 하는 컴퓨터 "Model K"를 완성했는데, 이 컴퓨터는 이진 덧셈을 사용하여 계산했다.[34] 콘라트 추제(Konrad Zuse)는 1935년부터 1938년 사이에 Z1 컴퓨터를 설계 및 제작했으며, 불 대수와 이진 부동소수점을 사용했다.[38]
7. 다른 진법과의 변환
십진법에서 이진법으로, 또는 그 반대로 변환하는 특별한 공식이 있는 것은 아니다. 십진법과 이진법은 모두 수를 표현하는 방식이므로, "표현 방식 → 수 → 표현 방식"과 같이 변환하면 된다.
==== 십진법에서 이진법으로 ====
10진수 정수를 2진수로 변환하려면, 해당 숫자를 2로 나눈다. 나머지는 최하위 비트가 된다. 몫을 다시 2로 나눈다. 그 나머지는 다음 최하위 비트가 된다. 몫이 1이 될 때까지 이 과정을 반복한다. 나머지(최종 몫 1 포함)의 순서가 2진수 값을 형성하는데, 2로 나눌 때 각 나머지는 0 또는 1이어야 한다.[42]
양의 정수 m을 십진법에서 이진법으로 변환하는 방법은 다음과 같다.
# m을 x에 대입한다.
# x를 2로 나누고 나머지를 구한다.
# x/2의 몫을 x에 대입한다.
# 2번으로 돌아간다. x=0이면 종료한다.
나머지를 구한 순서의 역순으로 나열하면 이진법으로 변환된 결과가 된다.
예: '''192'''를 이진법으로 변환하는 과정은 다음과 같다.
2)192
2) 96…'''0'''
2) 48…'''0'''
2) 24…'''0'''
2) 12…'''0'''
2) 6…'''0'''
2) 3…'''1'''
2) 1…'''1'''
0…'''1'''
따라서 19210 = 110000002 이다.
==== 이진법에서 십진법으로 ====
이진수를 십진수로 변환하려면 각 자릿수에 2의 거듭제곱을 곱하고 그 값들을 모두 더한다. 예를 들어 이진수 10010101101₂는 다음과 같이 십진수로 변환할 수 있다.
| 2진수 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10진수 | 1×210 + | 0×29 + | 0×28 + | 1×27 + | 0×26 + | 1×25 + | 0×24 + | 1×23 + | 1×22 + | 0×21 + | 1×20 = | 1197 |
이진수 10010101101₂를 십진수로 변환하는 또 다른 방법은 호너 방법을 사용하는 것이다. 이 방법은 가장 왼쪽 비트부터 시작하여 이전 값을 두 배로 하고 다음 비트를 더하는 방식으로 진행된다.
| 이전 값 | × 2 + | 다음 비트 | = 다음 값 |
|---|---|---|---|
| 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 |
결과는 1197₁₀이다.
16진수에 익숙하다면, 2진수를 먼저 16진수로 변환한 다음, 16진수를 십진수로 변환하는 간접적인 방법을 사용할 수도 있다.
매우 큰 수의 경우에는 분할 정복 알고리즘을 사용하는 것이 더 효과적이다.
==== 16진법 ====
16진수는 2진수로 쉽게 변환할 수 있는데, 16진수의 진수(16)가 2진수의 진수(2)의 거듭제곱이기 때문이다. 16 = 24이므로, 16진수 한 자릿수는 2진수 네 자릿수로 표현된다.
16진수를 2진수로 변환하려면 각 자릿수를 2진수로 바꾸면 된다. 예를 들어 3A16는 0011 10102이고, E716는 1110 01112이다.
2진수를 16진수로 변환하려면 4비트씩 묶어서 각 묶음을 16진수로 바꾸면 된다. 비트 수가 4의 배수가 아니면 왼쪽에 0을 추가한다(패딩). 예를 들어 10100102는 패딩을 통해 0101 0010으로 묶어 5216으로 변환하고, 110111012는 1101 1101로 묶어 DD16으로 변환한다.
16진수를 10진수로 변환하는 예시는 다음과 같다.
:C0E716 = (12 × 163) + (0 × 162) + (14 × 161) + (7 × 160) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,38310
==== 8진법 ====
8진수는 2의 거듭제곱(23)을 밑으로 사용하므로, 8진수 한 자리를 나타내는 데 이진수 세 자리가 필요하다. 8진수와 이진수 간의 대응 관계는 16진수의 처음 여덟 자릿수와 같다. 예를 들어 이진수 000은 8진수 0, 이진수 111은 8진수 7과 같다.
| 8진수 | 이진수 |
|---|---|
| 0 | 000 |
| 1 | 001 |
| 2 | 010 |
| 3 | 011 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
8진수에서 이진수로의 변환은 16진수와 같은 방식으로 진행된다.
:658 = 110 1012
:178 = 001 1112
이진수에서 8진수로 변환할 때는 이진수를 세 자리씩 묶어 변환한다.
:1011002 = 101 1002 (그룹화) = 548
:100112 = 010 0112 (패딩을 사용하여 그룹화) = 238
8진수를 10진수로 변환하는 예시는 다음과 같다.
:658 = (6 × 81) + (5 × 80) = (6 × 8) + (5 × 1) = 5310
:1278 = (1 × 82) + (2 × 81) + (7 × 80) = (1 × 64) + (2 × 8) + (7 × 1) = 8710
7. 1. 십진법에서 이진법으로
10진수 정수를 2진수로 변환하려면, 숫자를 2로 나눕니다. 나머지는 최하위 비트가 됩니다. 몫을 다시 2로 나눕니다. 그 나머지는 다음 최하위 비트가 됩니다. 몫이 1이 될 때까지 이 과정을 반복합니다. 나머지(최종 몫 1 포함)의 순서가 2진수 값을 형성하는데, 2로 나눌 때 각 나머지는 0 또는 1이어야 합니다.[42]양의 정수 m을 십진법에서 이진법으로 변환하는 방법은 다음과 같습니다.
1. m을 x에 대입합니다.
2. x를 2로 나누고 나머지를 구합니다.
3. x/2의 몫을 x에 대입합니다.
4. 2번으로 돌아갑니다. x=0이면 종료합니다.
나머지를 구한 순서의 역순으로 나열하면 이진법으로 변환된 결과가 됩니다.
예: '''192'''를 이진법으로 변환하는 과정은 다음과 같습니다.
2)192
2) 96…'''0'''
2) 48…'''0'''
2) 24…'''0'''
2) 12…'''0'''
2) 6…'''0'''
2) 3…'''0'''
2) 1…'''1'''
0…'''1'''
따라서 19210 = 110000002 입니다.
7. 2. 이진법에서 십진법으로
이진수를 십진수로 변환하려면 각 자릿수에 2의 거듭제곱을 곱하고 그 값들을 모두 더한다. 예를 들어 이진수 10010101101₂는 다음과 같이 십진수로 변환할 수 있다.| 2진수 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10진수 | 1×210 + | 0×29 + | 0×28 + | 1×27 + | 0×26 + | 1×25 + | 0×24 + | 1×23 + | 1×22 + | 0×21 + | 1×20 = | 1197 |
이진수 10010101101₂를 십진수로 변환하는 또 다른 방법은 호너 방법을 사용하는 것이다. 이 방법은 가장 왼쪽 비트부터 시작하여 이전 값을 두 배로 하고 다음 비트를 더하는 방식으로 진행된다.
| 이전 값 | × 2 + | 다음 비트 | = 다음 값 |
|---|---|---|---|
| 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 |
결과는 1197₁₀이다.
16진수에 익숙하다면, 2진수를 먼저 16진수로 변환한 다음, 16진수를 십진수로 변환하는 간접적인 방법을 사용할 수도 있다.
매우 큰 수의 경우에는 분할 정복 알고리즘을 사용하는 것이 더 효과적이다.
7. 3. 16진법
16진수는 2진수로 쉽게 변환할 수 있는데, 16진수의 진수(16)가 2진수의 진수(2)의 거듭제곱이기 때문이다. 16 = 24이므로, 16진수 한 자릿수는 2진수 네 자릿수로 표현된다.16진수를 2진수로 변환하려면 각 자릿수를 2진수로 바꾸면 된다. 예를 들어 3A16는 0011 10102이고, E716는 1110 01112이다.
2진수를 16진수로 변환하려면 4비트씩 묶어서 각 묶음을 16진수로 바꾸면 된다. 비트 수가 4의 배수가 아니면 왼쪽에 0을 추가한다(패딩). 예를 들어 10100102는 패딩을 통해 0101 0010으로 묶어 5216으로 변환하고, 110111012는 1101 1101로 묶어 DD16으로 변환한다.
16진수를 10진수로 변환하는 예시는 다음과 같다.
:C0E716 = (12 × 163) + (0 × 162) + (14 × 161) + (7 × 160) = (12 × 4096) + (0 × 256) + (14 × 16) + (7 × 1) = 49,38310
7. 4. 8진법
8진수는 2의 거듭제곱(23)을 밑으로 사용하므로, 8진수 한 자리를 나타내는 데 이진수 세 자리가 필요하다. 8진수와 이진수 간의 대응 관계는 16진수의 처음 여덟 자릿수와 같다. 예를 들어 이진수 000은 8진수 0, 이진수 111은 8진수 7과 같다.| 8진수 | 이진수 |
|---|---|
| 0 | 000 |
| 1 | 001 |
| 2 | 010 |
| 3 | 011 |
| 4 | 100 |
| 5 | 101 |
| 6 | 110 |
| 7 | 111 |
8진수에서 이진수로의 변환은 16진수와 같은 방식으로 진행된다.
:658 = 110 1012
:178 = 001 1112
이진수에서 8진수로 변환할 때는 이진수를 세 자리씩 묶어 변환한다.
:1011002 = 101 1002 (그룹화) = 548
:100112 = 010 0112 (패딩을 사용하여 그룹화) = 238
8진수를 10진수로 변환하는 예시는 다음과 같다.
:658 = (6 × 81) + (5 × 80) = (6 × 8) + (5 × 1) = 5310
:1278 = (1 × 82) + (2 × 81) + (7 × 80) = (1 × 64) + (2 × 8) + (7 × 1) = 8710
8. 실수 표현
정수가 아닌 수는 음의 지수를 사용하여 나타낼 수 있으며, 이는 기수점(10진법에서는 소수점이라고 함)을 통해 다른 자릿수와 구분된다. 예를 들어, 2진수 11.01₂는 다음을 의미한다.
| 1 × 2¹ | (1 × 2 = 2) | 더하기 |
| 1 × 2⁰ | (1 × 1 = 1) | 더하기 |
| 0 × 2⁻¹ | (0 × = 0) | 더하기 |
| 1 × 2⁻² | (1 × = 0.25) |
합계는 10진수 3.25이다.
모든 이진 유리수 는 ''유한한'' 2진 표현을 가지며, 기수점 뒤에 유한한 수의 항을 갖는다. 다른 유리수들은 유한하지 않고, 순환하는 이진 표현을 갖는다. 예를 들어 1/3은 0.010101...₂ 와 같이 0과 1이 무한히 반복된다.
| 분수 | 10진수 | 이진수 | 분수 근사값 |
|---|---|---|---|
| 1/1 | 1또는0.999... | 1또는0. | 1/2 + 1/4 + 1/8... |
| 1/2 | 0.5또는0.4999... | 0.1또는0.0 | 1/4 + 1/8 + 1/16 . . . |
| 1/3 | 0.333... | 0. | 1/4 + 1/16 + 1/64 . . . |
| 1/4 | 0.25또는0.24999... | 0.01또는0.00 | 1/8 + 1/16 + 1/32 . . . |
| 1/5 | 0.2또는0.1999... | 0. | 1/8 + 1/16 + 1/128 . . . |
| 1/6 | 0.1666... | 0.0 | 1/8 + 1/32 + 1/128 . . . |
| 1/7 | 0.142857142857... | 0. | 1/8 + 1/64 + 1/512 . . . |
| 1/8 | 0.125또는0.124999... | 0.001또는0.000 | 1/16 + 1/32 + 1/64 . . . |
| 1/9 | 0.111... | 0. | 1/16 + 1/32 + 1/64 . . . |
| 1/10 | 0.1또는0.0999... | 0.0 | 1/16 + 1/32 + 1/256 . . . |
| 1/11 | 0.090909... | 0. | 1/16 + 1/64 + 1/128 . . . |
| 1/12 | 0.08333... | 0.00 | 1/16 + 1/64 + 1/256 . . . |
| 1/13 | 0.076923076923... | 0. | 1/16 + 1/128 + 1/256 . . . |
| 1/14 | 0.0714285714285... | 0.0 | 1/16 + 1/128 + 1/1024 . . . |
| 1/15 | 0.0666... | 0. | 1/16 + 1/256 . . . |
| 1/16 | 0.0625또는0.0624999... | 0.0001또는0.0000 | 1/32 + 1/64 + 1/128 . . . |
유한하지도 않고 순환하지도 않는 2진수는 무리수를 나타낸다. 예를 들어, 의 이진 표현은 1.0110101000001001111001100110011111110... 이며, 패턴이 없다.
9. 디지털 기기에서의 사용
전자식 컴퓨터의 전자 회로 등의 디지털 회로(디지털 논리 회로), 자기 디스크 등의 기억 매체에서는 전압의 고저, 자극의 N/S 등, 물리 현상을 두 상태로만 축소하여 다루므로(이산화 등이라고 함[43]), 거기에 참과 거짓의 두 값(2값의 진리값)만을 사용하는 이진 논리(흔히 전자적으로는 H와 L, 논리적으로는 T와 F라는 기호가 사용됨)를 매핑한다. 그리고 거기서 수치를 다루려면, 거기에 "0과 1"의 이진법을 매핑하는 것이 최적이다.
많은 응용에서 보이는 것처럼 자릿수가 유한한 경우, 수학적으로 말하면 "유리수의 부분 집합"이 표현되어 있는 셈이지만, 일반적으로는 "유한 정밀도의 실수"가 표현되어 있다고 해석된다. 이 때문에 컴퓨터와 디지털 기기에는 이진수가 사용된다.
또한, 팔진법이나 십육진법이나 삼십이진법은 마찬가지로 2의 거듭제곱을 밑으로 하기 때문에 자주 이용된다.
비트열을 이용하여 음수 값을 표현하는 데 널리 사용되는 방법 중 하나로 2의 보수 표현이 있다. 2의 보수 표현은 n 비트 열의 최상위 비트의 가중치를 +2n-1이 아닌 -2n-1로 하는 것이다. 2의 보수 표현은 비트 패턴이 덧셈과 뺄셈(그리고 곱셈) 연산에서 특별한 처리가 필요 없다는 특징을 가진다. 단, 오버플로우 처리가 달라진다(이는 예를 들어 x86 프로세서의 캐리 플래그와 오버플로우 플래그의 차이이다(상태 레지스터#캐리와 오버플로우 참조)).
9. 1. 음수 표현
비트열을 이용하여 음수 값을 표현하는 데 널리 사용되는 방법 중 하나로 2의 보수 표현이 있다. 2의 보수 표현은 n 비트 열의 최상위 비트의 가중치를 +2n-1이 아닌 -2n-1로 하는 것이다. 2의 보수 표현은 비트 패턴이 덧셈과 뺄셈(그리고 곱셈) 연산에서 특별한 처리가 필요 없다는 특징을 가진다. 단, 오버플로우 처리가 달라진다(이는 예를 들어 x86 프로세서의 캐리 플래그와 오버플로우 플래그의 차이이다(상태 레지스터#캐리와 오버플로우 참조)).참조
[1]
웹사이트
3.3. Binary and Its Advantages — CS160 Reader
https://computerscie[...]
2024-05-22
[2]
서적
The Oxford Handbook of the History of Mathematics
https://books.google[...]
Oxford University Press
[3]
서적
Numerical Notation: A Comparative History
https://books.google[...]
Cambridge University Press
[4]
서적
How Mathematics Happened: The First 50,000 Years
https://books.google[...]
Prometheus Books
[5]
서적
I Ching: An Annotated Bibliography
https://books.google[...]
Routledge
[6]
서적
Groundbreaking Scientific Experiments, Inventions, and Discoveries of the 18th Century
https://books.google[...]
Greenwood Publishing
[7]
서적
Teaching the I Ching
Oxford University Press
2014
[8]
웹사이트
Yijing hexagram sequences: The Shao Yong square (Fuxi sequence)
http://www.biroco.co[...]
2022-09-15
[9]
서적
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
https://books.google[...]
Franz Steiner Verlag
2000
[10]
학술지
Mapping the Entrails: The Practice of Greek Hepatoscopy
https://www.jstor.or[...]
2008
[11]
서적
Ancient Greek divination
Wiley-Blackwell
2008
[12]
서적
Microcontroller programming: the microchip PIC
CRC Press
[13]
서적
The Heritage of Thales
Springer
[14]
웹사이트
Math for Poets and Drummers
http://www.sju.edu/~[...]
[15]
서적
The mathematics of harmony: from Euclid to contemporary mathematics and computer science
https://books.google[...]
World Scientific
[16]
학술지
Binary Numbers in Indian Antiquity
[17]
서적
Vodún: secrecy and the search for divine power
University of Pennsylvania Press
2019
[18]
웹사이트
Ifa Divination System
https://ich.unesco.o[...]
2017-07-05
[19]
학술지
Mangarevan invention of binary steps for easier calculation
2013-12-16
[20]
학술지
Diversity in the Numeral Systems of Australian Languages
https://www.jstor.or[...]
2012
[21]
웹사이트
http://lullianarts.n[...]
[22]
웹사이트
The Advancement of Learning
http://home.hiwaay.n[...]
[23]
학술지
Binary numeration before Leibniz
[24]
학술지
Leibniz, Caramuel, Harriot und das Dualsystem
http://page.math.tu-[...]
[25]
서적
Leibniz on Number Systems
https://link.springe[...]
Springer International Publishing
2024-08-20
[26]
서적
Explication de l'Arithmétique Binaire, Die Mathematische Schriften
http://www.leibniz-t[...]
[27]
웹사이트
Bouvet and Leibniz: A Scholarly Correspondence
https://gwern.net/do[...]
[28]
웹사이트
https://www.leibniz-[...]
[29]
서적
Leibniz: A Biography
Taylor & Francis
[30]
서적
Leibniz: What Kind of Rationalist?: What Kind of Rationalist?
https://books.google[...]
Springer
[31]
서적
Leibniz, Mysticism and Religion
https://books.google[...]
Springer
[32]
서적
An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities
https://www.gutenber[...]
Cambridge University Press
[33]
Thesis
A symbolic analysis of relay and switching circuits
Massachusetts Institute of Technology
[34]
웹사이트
National Inventors Hall of Fame – George R. Stibitz
http://www.invent.or[...]
2008-08-20
[35]
웹사이트
George Stibitz : Bio
http://stibitz.denis[...]
Math & Computer Science Department, Denison University
2004-04-30
[36]
웹사이트
Pioneers – The people and ideas that made a difference – George Stibitz (1904–1995)
http://www.kerryr.ne[...]
Kerry Redshaw
2006-02-20
[37]
웹사이트
George Robert Stibitz – Obituary
http://ei.cs.vt.edu/[...]
Computer History Association of California
1995-02-06
[38]
논문
Konrad Zuse's Legacy: The Architecture of the Z1 and Z3
http://ed-thelen.org[...]
1997-04-01
[39]
웹사이트
Introducing binary – Revision 1 – GCSE Computer Science
https://www.bbc.com/[...]
[40]
서적
Arbeitsbuch Informatik – eine praxisorientierte Einführung in die Datenverarbeitung mit Projektaufgabe
https://books.google[...]
Vieweg-Verlag, reprint: Springer-Verlag
2013
[41]
서적
Informatik für Ingenieure und Naturwissenschaftler: PC- und Mikrocomputertechnik, Rechnernetze
https://books.google[...]
Vieweg, reprint: Springer-Verlag
2007-10-04
[42]
웹사이트
Base System
https://www.chalkstr[...]
[43]
기타
[44]
기타
Ethnologue: Languages of the World
http://www.ethnologu[...]
[45]
기타
Ethnologue: Languages of the World
http://www.ethnologu[...]
[46]
기타
Ethnologue: Languages of the World
http://www.ethnologu[...]
[47]
서적
Counting Systems of Papua New Guinea and Oceania
http://www.uog.ac.pg[...]
Ph.D. thesis, Papua New Guinea University of Technology
[48]
서적
ライプニッツ著作集 10 中国学・地質学・普遍学
工作舎
[49]
서적
Microcontroller programming : the microchip PIC
CRC Press
[50]
서적
The Heritage of Thales
Springer
[51]
기타
The Advancement of Learning
http://home.hiwaay.n[...]
1605
[52]
논문
A Symbolic Analysis of Relay and Switching Circuits
http://hdl.handle.ne[...]
Massachusetts Institute of Technology, Dept. of Electrical Engineering
[53]
서적
An Introduction to Numerical Methods A MATLAB Approach
학산미디어
2013
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com