2015년 2월 20일 금요일

컴퓨터와 이진수

목차


이진수란

두 가지의 표현방식을 가지는 것을 이진법이라 한다
세 가지라면 삼진법, 네 가지라면 사진법이다

수업시간에 질문하기를 손을 들고 내리는 방식으로 정의하면
이진법이다. 손을 든다, 내린다 두가지이므로..
일주일은 요일을 표현하는 7진법이다

그러한 진법들의 각 표현에다가 수로 대응한 것이 진수이다
이진수의 경우 두 가지 표현의 각각에
01을 할당했다

위의 질문하기에 대입하면

0 - 손내리기
1 - 손올리기

로 볼 수 있다
여기까지만 보면 이들의 가치에 의문을 가지게 되지만
오른손 왼손으로 보게 되면 표현수가 극적으로 늘어나게 된다

00 - 오른손 내리고 왼손 내리기
01 - 오른손 내리고 왼손 올리기
10 - 오른손 올리고 왼손 내리기
11 - 오른손 올리고 왼손 올리기

어떤 표현을 할 수 있는 것을 하나 추가할때마다
표현 가짓수는 제곱으로 늘어나게 되어

비록 2진법이라도 모스부호 처럼 모든 문자를 표현 가능하게
되는 것이다

컴퓨터에서의 이진수

컴퓨터는 자신의 의사표현 방식이 이진수이다
정확히는 반도체 하나의 표현방식이 이진수이다
앞서 말했듯이 모이고 모이면 대규모 표현이 가능해진다고 했다
그래서 반도체를 왕창 때려박아놓은 컴터가 각종 다양한 표현이 가능한 것이다

근데 왜 이진수 방식일까. 이왕이면 10진수가 가능한 부품을
왕창 때려넣으면 지금과는 비교가 안될 것이다

그것은 기계란 것을 창조해내는 과정에 있어서
뭔가를 작동하게 하는 것도 힘들지만 뭔가를 표현하게 하는것은
더더욱 힘들기때문에 생겨난 방식이다
예를들어 당신에게 여러개의 증기기관을 주고
숫자를 시각적으로 표현하라 하면 어떻게 하겠는가?
상당히 머리 아플것이다

그래도 한개 작동하면 1번 번호판을 내리고 두개 작동하면
2번 번호판 내리게 하고.. 이런식으로 무게추와 톱니바퀴
이용해서 어찌어찌 만들면 될것이다

그런데 증기기관 가지고 그런짓하긴 골때린다
그런 가운데 힘을 전달하는 매체로서 가장 탁월한 것이 나왔고
그것이 전기다.
위의 것을 전기로 바꾸면 전기볼트가 일정이상 넘어가면
뭐가 작동하고 하는 아날로그 식으로 할 수 있을지도 모른다
하지만 그러한 아날로그식 제어는 주변환경의 영향이 극심하고
제어 자체가 매우 힘들다.
그래서 현재 가능한 부품으로 최대한 주변영향을 배제하면서
명확한 결과를 낼 수 있는 방법을 고민해보니

전기가 통하면 1, 전기가 안통하면 0

전기가 통하는가 안통하는가로 따지는 이진법이 짱이었던 것이다
그리고 그런 부품을 왕창 때려박으니 그럭저럭
표현이 풍부해지게되었다. 하지만 진공관 같은 거대한 부품을
그런 수로 때려박으니 부피와 무게가 감당이 안되게 컸었다
세월이 흘러흘러 똑같이 통하고 안통하고를 제어할 수 있으면서도
부피와 무게가 머리카락보다 작게 할 수 있는 반도체를 만들게 되었고
이제 그런 부품 크기가 작아짐에 따라 컴터도 역시 작아지게되었다

아래의 동영상이
컴퓨터의 표현과 2진법의 관계를 잘 나타내줄 것 같다 ^^

벨브(1작동,0잠금)를 여러개 배치해서 표현하는 물 그래픽


Written with StackEdit.

Related Posts:

  • 유니티 - Time.deltaTime델타의 용어뜻 delta : an incremental change in a variable불행히도 네이버 사전에는 없고 그냥 구글을 뒤져보면 여러뜻중에 저런 것이 있다 사실 우리도 지겹게 보아온 단어다 수학에서.. 델타가 어쩌구.. 간단히 변화값이다. 혹은 경과값이라고 할 수 있다유니티의 Time.deltaTime여기서 유니티의 문서를 보면 Time.deltaTime을 이렇게 정의해놨다 … Read More
  • 유니티 Mathf.Lerp Mathf.LerpAngle목차Mathf.Lerp 선형보간법 Mathf.LerpAngle Mathf.Lerp 선형보간법Interpolation 이라는 용어가 있는데 보간법(補間法)이라고 한다본인은 수학도 잼병이고 이런 용어도 너무 약하다 거기다 검색해보니 너무 고차원적이라 간신히 흰것은 웹페이지 바탕화면이고 검은것은 글씨라는 것 정도만 해석 가능했다 그래도 어쩌랴 궁금한걸..;;;일단 용어부터 시작하겠다 보간.. 간… Read More
  • 유니티 - 카메라 컴포넌트 설명목차Clear Flags Skybox Solid Color Depth Only Don’t Clear Background Culling Mask Projection Clipping Planes Viewport Rect Depth Rendering Path Target Texture (Unity Pro only) HDR Clear Flags 화면의 어디를 클리어 시킬 것인지를 정한다 라고… Read More
  • 프로그래밍과 프로그래밍언어의 개념목차 프로그래밍(Programming) 용어적 의미 기계어와 컴퓨터 새로운 프로그래밍 언어의 등장 내가 처음 프로그래밍이란 용어를 접했을때의 이미지는 이랬다.-ㅅ- 뭐 비슷한 점도 있지만 실제로 여기에 무슨 우주적 신비가 깃들어 있다거나 하진 않고 충분히 이해가능한 것이다 그래서 초보입장에서 네오랑 만나지 않게 한번 설명해보겠다 프로그래밍(Programming) 용어… Read More
  • 안드로이드 merge 와 include 레이아웃 기법목차 merge태그와 include태그 소개 include 태그 merge 태그 merge태그와 include태그 소개 안드로이드의 레이아웃의 멋진 기법으로 include와 merge 라는 것이 존재한다 공식홈피와 블로그에서도 소개해놨따 http://developer.android.com/training/improving-layouts/reusing-layouts.h… Read More

0 개의 댓글 :

댓글 쓰기