Skip to main content

이진법 목차 표현 셈 산술 십진법과의 관계 같이 보기 각주 둘러보기 메뉴eh이진법4150805-100568548

기수법인도의 발명품고트프리트 빌헬름 라이프니츠


숫자01라이프니츠컴퓨터디지털비트더하기빼기곱하기나누기제곱근논리회로보수1의 보수여기












이진법




위키백과, 우리 모두의 백과사전.






둘러보기로 가기
검색하러 가기



기수법
개념


  • 위치 기수법

  • 비정수 기수법


숫자

  • 바빌로니아 숫자

  • 이집트 숫자

  • 그리스 숫자

  • 로마 숫자

  • 마야 숫자

  • 아라비아 숫자

  • 한자 숫자

진법


  • 단항 기수법 (1)


  • 이진법 (2)


  • 삼진법 (3)


  • 사진법 (4)


  • 오진법 (5)


  • 육진법 (6)


  • 팔진법 (8)


  • 십진법 (10)


  • 십일진법 (11)


  • 십이진법 (12)


  • 십육진법 (16)


  • 이십진법 (20)


  • 삼십육진법 (36)


  • 육십진법 (60)


v  d  e  h

이진법(二進法, binary)은 두 개의 숫자만을 이용하는 수 체계이다. 관습적으로 0과 1의 기호를 쓰며 이들로 이루어진 수를 이진수라고 한다. 이 이진법은 라이프니츠가 발명하였다. 십진법의 1은 이진법에서는 1, 십진법의 2는 이진법에서는 10, 십진법의 3은 이진법에서는 11이다.


컴퓨터에서는 논리의 조립이 간단하고 내부에 사용되는 소자의 특성상 이진법이 편리하기 때문에 이진법을 사용한다. 디지털 신호는 기본적으로 이진법 수들의 나열이며, 컴퓨터 내부에서 처리하는 숫자는 기본적으로 이진법을 이용하기 때문에 컴퓨터가 널리 쓰이는 현대에 그 중요성이 커졌다.




목차





  • 1 표현

    • 1.1 이진 자료



  • 2


  • 3 산술

    • 3.1 더하기


    • 3.2 빼기


    • 3.3 곱하기


    • 3.4 나누기


    • 3.5 제곱근



  • 4 십진법과의 관계


  • 5 같이 보기


  • 6 각주




표현


이진법에서는 0과 1로 모든 수를 표현한다. 컴퓨터 상에서는 각각의 자리를 비트라고 부르며,[1] 각각의 비트는 켜져있거나 꺼져있는 두 가지 상태로 표시된다. 다음 수는 십진수 155를 이진법으로 표현한것이다.


1 0 0 1 1 0 1 1

일반적으로 이진법의 수를 십진법의 수와 구별하기위해 다음과 같은 방법을 쓴다.


100101b (b를 덧붙임(b는 binary의 약자))

100101(2) ((2)를 덧붙임, 주로 수학에서 쓰임)

0b100101 (앞에 0b를 덧붙임, 주로 프로그래밍 언어에서 쓰임)


이진 자료


이진자료란 이진법 형식으로 표시되는 자료이다. 두 가지의 대조되는 데이터를 구분할 때 유리하다. 예를 들어 생의학 실험에서 50명의 환자들의 치유 여부를 0(치유되지 않았다), 1(치유되었다)로 표시한다면 숫자만으로도 쉽게 자료를 구분할 수 있다.






























이진수
십진수

이진수
십진수
0
0

100
4
1
1

101
5
10
2

110
6
11
3

111
7

십진법에서는 0에서 9까지의 숫자를 사용하는 데 비해, 이진법에서는 0에서 1까지의 숫자만을 사용한다. 십진법에서는 어떤 자리가 9를 넘어야 위로 자리올림을 하지만, 이진법에서는 어떤 자리가 1만 넘으면 자리올림을 한다. 따라서 이진수 오른쪽의 표와 같은 꼴로 나타난다.


이런 이유로 이진수에서는 십진수보다 자리수가 빠르게 늘어나버린다. 일반적으로 십진수 n자리를 이진수로 표현하면


n×log210≈3.32ndisplaystyle ntimes log_210approx 3.32n
자리수가 된다.



산술


십진법과 마찬가지로 이진법에서도 더하기, 빼기, 곱하기, 나누기, 제곱근 등의 산술연산을 할 수 있다.



더하기




두 비트를 더해주는 반가산기의 회로도



























자릿수
자릿수

더한 값
올림
0
0

0
0
0
1

1
0
1
0

1
0
1
1

0
1

한 자리짜리 이진법인 수 2개를 더했을 때의 결과는 왼쪽의 표와 같다. 여기서 올림이라는 것은 윗 자리로 받아올려지는 수를 의미한다.


이진법에서는 수가 2개밖에 없기 때문에 더했을 때 나오는 경우도 4가지밖에 없고, 논리회로로 구성하기도 쉽다. 이를 논리회로로 구성하면 오른쪽과 같다.


더했을 때 각 자리가 1을 넘으면 받아올림된다는 규칙만 따르면 십진법에서와 마찬가지로 덧셈을 할 수 있다.




 1 1 1 1 1 (받아올림)
0 1 1 0 1
+ 1 0 1 1 1
-------------
1 0 0 1 0 0

위의 예에서는 1101(2)(십진수로 13)과 10111(2)(십진수로 23)을 더했다. 그 결과 100100(2)가 나왔고, 이는 십진수에서 덧셈한 것과 같이 36이라는 값이다.



빼기


이진법에서 윗자리에서 수를 받아내려올 때 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 0 0 0 1 1 0 0
− 0 0 0 0 0 0 1 0
-----------------
0 0 0 0 1 1 0 0
+ 1 1 1 1 1 1 0 1
-----------------
1|0 0 0 0 1 0 0 1
+ 1
-----------------
1 0 1 0

A-B가 있으면 B에 1의 보수를 적용하고 뺄셈을 덧셈으로 전환하고 계산한다. 여기에서 굵음체로 표기된 올림수가 있을 경우 그대로 1을 더하고 0일경우 더하지 말고 다시 한번 1의 보수를 적용한다.






















자릿수자릿수뺀 수받아 내림
000
0111
101
110
 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

예에서는 11010(2)(십진수로 26)과 1011010(2)(십진수로 90)을 빼기하면, 그 결과 값이 -1000000(2)가 나왔고, 이는 십진수에서 뺄셈한 것과 같이 -64이라는 값이다.


뺄셈은 작은 수에서 큰 수를 뺄 때 큰 수 빼기 작은 수를 한 다음 -1을 곱하는 해야하는 것에 주의하자.


 1 1 0 1 0
- 1 0 1 1 0 1 0
-----------------

위의 식에서 감수와 피감수의 자리를 바꾼 다음 값에 음수를 넣는다.


 1 0 1 1 0 1 0
- 1 1 0 1 0
-----------------
- 1 0 0 0 0 0 0


곱하기


이진수에서의 곱하기도 십진수와 마찬가지 방법으로 한다. 아래는 두 비트를 곱했을 때 나올 수 있는 모든 경우를 나열한 것이다.


  • 0×0=0displaystyle 0times 0=0

  • 0×1=0displaystyle 0times 1=0

  • 1×0=0displaystyle 1times 0=0

  • 1×1=1displaystyle 1times 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


나누기


이진법에서의 나누기 역시 십진법의 나누기와 비슷하다. 예를 들어서, 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


제곱근


이진법의 제곱근을 자리마다 구하는 과정은 십진법의 제곱근을 자리마다 구하는 과정과 같으며, 여기에 설명되어 있다. 예를 들어, 1010001(2)의 제곱근을 구하는 방법은 아래와 같다:


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

1010001(2)의 제곱근은 1001(2)인데 이는 십진법 81의 제곱근이 9라는 것과 일치한다.



십진법과의 관계


일반적으로 이진법의 idisplaystyle i번째 자리수는 2i−1displaystyle 2^i-1 크기를 갖는다. 따라서 이진법 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


같이 보기




  • 이진화 십진법

  • 선형 되먹임 시프트 레지스터

  • 기수법

  • 진수


각주




  1. Abdelwahab Kharab; Ronald B. Guenther (2013). 《An Introduction to Numerical Methods A MATLAB Approach》 [이공학도를 위한 수치해석]. 학산미디어. 23쪽. ISBN 978-89-966211-8-8. 











원본 주소 "https://ko.wikipedia.org/w/index.php?title=이진법&oldid=22234759"










둘러보기 메뉴


























(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgPageParseReport":"limitreport":"cputime":"0.204","walltime":"0.364","ppvisitednodes":"value":727,"limit":1000000,"ppgeneratednodes":"value":0,"limit":1500000,"postexpandincludesize":"value":16737,"limit":2097152,"templateargumentsize":"value":1202,"limit":2097152,"expansiondepth":"value":20,"limit":40,"expensivefunctioncount":"value":1,"limit":500,"unstrip-depth":"value":0,"limit":20,"unstrip-size":"value":1417,"limit":5000000,"entityaccesscount":"value":1,"limit":400,"timingprofile":["100.00% 244.516 1 -total"," 31.46% 76.922 1 틀:출처_필요"," 25.49% 62.339 1 틀:각주"," 22.85% 55.871 1 틀:위키공용분류"," 21.19% 51.818 1 틀:Ambox"," 20.79% 50.834 1 틀:서적_인용"," 20.26% 49.531 1 틀:Sister"," 18.69% 45.712 1 틀:사이드_박스"," 8.49% 20.760 3 틀:일반_기타"," 7.36% 17.987 1 틀:기수법"],"scribunto":"limitreport-timeusage":"value":"0.064","limit":"10.000","limitreport-memusage":"value":2655039,"limit":52428800,"cachereport":"origin":"mw1321","timestamp":"20190508144131","ttl":2592000,"transientcontent":false););"@context":"https://schema.org","@type":"Article","name":"uc774uc9c4ubc95","url":"https://ko.wikipedia.org/wiki/%EC%9D%B4%EC%A7%84%EB%B2%95","sameAs":"http://www.wikidata.org/entity/Q3913","mainEntity":"http://www.wikidata.org/entity/Q3913","author":"@type":"Organization","name":"uc704ud0a4ubbf8ub514uc5b4 ud504ub85cuc81dud2b8 uae30uc5ecuc790","publisher":"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":"@type":"ImageObject","url":"https://www.wikimedia.org/static/images/wmf-hor-googpub.png","datePublished":"2005-05-22T17:31:02Z","dateModified":"2018-09-06T13:05:32Z"(window.RLQ=window.RLQ||[]).push(function()mw.config.set("wgBackendResponseTime":177,"wgHostname":"mw1244"););

Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

은진 송씨 목차 역사 본관 분파 인물 조선 왕실과의 인척 관계 집성촌 항렬자 인구 같이 보기 각주 둘러보기 메뉴은진 송씨세종실록 149권, 지리지 충청도 공주목 은진현