Skip to the content.

1장 기초이론

목차
  1. 컴퓨터의 단위 ()
  2. 진수의 세는 법 ()
  3. 기수변환과 자리의 가중치 ()
  4. 다양한 진수변환 ()
  5. 음의 2진수
  6. 2진수 계산

1.1 컴퓨터의 단위

“비트와 바이트”

예시
1bit (0, 1) 2bi (00, 01, 10, 11) 3bit (000, 001, 010, 100, …)


1.2 진수의 세는 법

“10 진수, 2 진수, 16 진수”

  1. 2 진수

    값이 2가 되면 행 올림 0, 1, 10, 11, 100

  2. 16 진수

    값이 16이 되면 행 올림 10 ~ 15까지 영어 (a ~ f)로 표현 0, 1, .. 9, A, B, C, D, E, F, 10, 11, 12, 13, 14

  3. 10 진수

    일상 생활에서 사용하는 세는 법


정수와 소수

점을 기준으로 왼쪽이 정수부, 오른쪽이 소수부라고 부른다.

소수의 종류 유한소수, 무한소수, 순환소수

  1. 유한소수: 소수부의 맺음이 있다. -> 0.5, 1.1
  2. 무한소수: 소수부의 맺음이 없는 소수 -> 원주율 등(3.1415…)
  3. 순환소수: 소수부가 같은 숫자로 무한히 반복 -> 0.123123123

1.3 자리의 가중치

진수끼리 진수변환이 가능

“행의 자릿값”

1111.11 1000, 100, 10, 1 / 0.1, 0.01

“진수” 같은 수를 곱셉한 횟수를 표현

10^3 = 10 * 10 * 10

“2진수와 10진수의 변환”

아래는 예시

1010.001
2^3, 2^2, 2^1 2^0, 2^-1, 2^-2, 2^-3
8 + 0 + 2 + 0 . 0 + 0 + 0.125

결과: 10.125


1.4 다양한 진수변환

1. 16진수 - 10진수

2진수에서 10진수 변환하는 방법과 같다. 다만, 16진수를 10진수로 변환 후 16을 곱해야한다.

2BD.C8
2(10), 11(10), 13(10), 12(10), 8(10)
16^2, 16^1, 16^0, 16^-1, 16^-2, 16^-3

결과: 701.78125

2. 10진수 - 2진수

10진수를 2로 나누어서 몫이 0이 될 때까지 나누면 된다. 나눌때마다 나온 나머지를 역순으로 배치한다.

소수부의 계산

소수부를 2로 곱한다. 곱해나온 몫을 순서대로 배치한다.

3. 10진수 -16진수

정수부의 계산

10진수를 16으로 몫이 0이 될때 까지 나눈다. 몫을 나눌때 나온 나머지 값을 16진수로 변환 후, 역순으로 배치한다.

소수부의 계산

소수부를 16로 곱한다. 곱해나온 몫을 16진수로 변환 후, 순서대로 배치한다.

n진수

시험에는 특정 진수의 계산보다는 범용적인 n진수의 계산이 출제되는 경우가 많다.

3725.104
n^3, n^2, n^1, n^0, . n^-1, n^-2, n^-3,
3n^3, 7n^2, 1n^1, 5n^0, . 1n^-1, 0n^-2, 4n^-3

만약 8진수로 바꾸려고 한다라는 문제가 나왔을 때, n에 8을 대입하면 된다.


1.5 음의 2진수

2진수를 음수로 바꾸는 3가지 방법

  1. 절대값표현
  2. 1의 보수표현
  3. 2의 보수표현

  4. 절대값 표현

    선두의 1비트가 0이면 양수, 1이면 음수가 된다.

    00000010(10진수로 2) -> 10000010(10진수로 -2)
    
  5. 1의 보수표현

    모든 비트를 반전시켜 양수,음수를 표현하는 방법

    00000010(10진수로 2) -> 11111101(10진수로 -2)
    
  6. 2의 보수표현

    비트를 반전시킨 후, 비트 1을 더하는 방법

    00000010 -> 11111101 -> 11111110
    
    • 실제 덧셈을 할때, 1의 보수 표현으로 불편 -> 2의 보수 표현으로 계산
       00000010
      +11111101
      -----------
       11111111  (이건 -0)
      

1.6 2진수의 사칙연산

1. 2진수의 덧셈, 뺄셈

  1. 덧셈 2진수 덧셈은 2가 될때 행 올림
     10
    +11
    ---
    101
    
  2. 뺄셈 2진수도 10진수와 같이 자리값 (10의자리, 1의 자리)을 가지고 있다.
    아래의 예와 같이 1의 자리에서 계산 할 수 없으면 10의 자리를 가지고 온다. (2진수에서 2가되면 행올림이므로 2를 가지고 오는 것)
     10
    - 1
    ---
      1
    

2. 시프트 연산(シフト演算)

  1. 논리 시프트(論理シフト)

    비트 열을 왼쪽으로 1개씩 이동시키면 값이 2배가 된다. 비트 열을 오른쪽으로 1개씩 이동시키면 값이 1/2배가 된다.

    • 왼쪽 이동
       00000010
      0|0000010"0"
      이동시켜서 공백이 된부분은 0을 넣는다.
      빠져나온 비트는 삭제
      
    • 오른쪽 이동
      00000010
       |"0"0000001|0
      이동시켜서 공백이 된부분은 0을 넣는다.
      빠져나온 비트는 삭제
      
  2. 산술 시프트(算術シフト)
    • 부호를 가지고 있는 이진수를 시프트 하기 위함

      부호를 담당하는 가장 앞쪽 비트는 그대로 복사하고 나머지는 이동