본문 바로가기

컴퓨터 기초/이산 수학

신흥철 교수의 이산 수학 8강 : 수의 표현

 4장 수의 표현 

1. 수와 그 성질

수의 종류

  • 자연수 N

    • 기수(base)를 b로 하는 수 체계로, 양의 정수 nb
    • n, b∈N이고, b>1, 0≤ ai < b일때,
      n=akbk+ak-1b k-1+…+a1b1+a0b0 (k: 자리수)
    • (예제) 58910을 기수와 자리수로 표현하시오. 58910=5×102+8×101+9×100
  • 정수 Z

    • 양의 정수, 0, 음의 정수로 구성된 수 체계
  • 유리수 Q

    • a, b∈Z(정수), a≠0일 때 b/a인 수 체계
    • 하한항(lowest): 분모와 분자 사이에 1 이외의 공약수가 존재하지 않는 유리수
    • 실수부(소수점 이하)가 숫자들이 유한하거나 일정하게 반복됨 (예: ½=0.5, ⅓=0.333…)
  • 무리수 I

    • a, b∈Z, a≠0일 때 b/a로 표현할 수 없는 수 체계
    • 실수부(소수점 이하) 숫자들이 무작위로 나열됨
  • 실수 R(=N∪Z∪Q∪I)

    • 자연수, 정수, 유리수, 무리수를 포함하는 수 체계
    • r∈R, b∈N이고, b>1, 0<ai<b일 때 r =akb k+ak-1bk-1+…+a1b1+a0b0 (정수부) +a-1b-1+a-2b-2+…(실수부) (k: 자리수)
    • (예제) 345.73410을 기수와 자리수로 표현? 345.73410=3×102+4×101+5×100 +7×10-1+3×10-2+4×10-3
  • 복소수 C

    • x2=-1을 포함하는 수 체계
    • c=a+bi(a: c의 실수부, b: c의 허수부)로 표현하되, 연산은 아래와 같음 ⑴ (a+bi)+(c+di)=(a+c)+(b+d)i ⑵ (a+bi)·(c+di) = (ac+adi)+(bci+bdi2) = (ac-bd)+(ad+bc)i
    • (예제) 복소수 3+6i와 12i에 대해 합과 곱은? (합) (3+6i)+12i=3+18i (곱) (3+6i)×12i=36i+72i2= (-72)+36i
  • 수의 종류

    수 체계 [정보통신기술용어해설]

수의 연산

  • 수의 닫힘 성질

    • 어떤 수 체계에 속한 원소들에 대해 연산한 결과가 수 체계에 속하게 되면 연산에 대해 닫혀있다고 함
  • 수의 합과 곱에 대한 특징

    • 교환법칙: x+y=y+x, xy=yx
    • 결합법칙: (x+y)+z=x+(y+z), (xy)z=x(yz)
    • 분배법칙: x(y+z)=xy+xz
    • 합에 대한 항등원: 0
    • 곱에 대한 항등원:1
    • 합에 대한 역: -a
    • 곱에 대한 역: 1/a
    • (예제) 9의 합과 곱에 대한 역을 구하시오. (합) 9+a=0 ∴a=-9, (곱) 9×a=1 ∴a=1/9
  • 합의 표시 ∑xi

    • 일정한 규칙으로 나열된 값의 합(i: 합의 색인)
    • x1+x2+x3+…+xi+…+xn-1+xn
  • 곱의 표시 ∏xi

    • 일정한 규칙으로 나열된 값의 곱(i: 곱의 색인)
    • x1× x2×x3×…× xi×…× xn-1×xn
  • 나누기 연산 d(젯수)|n(피젯수)

    • 정수 n을 d로 나누어 몫 q를 구하는 연산 또는 n=dq를 만족하는 정수 q를 구하는 연산 d|n: d로 n을 나눈다. (d≠0) d∤n: d는 n을 나누지 못한다.
    • q: 몫(quotient) d: n의 약수(divisor) 또는 인수(factor) n: d의 배수
  • 나누기 연산의 규칙 (a, b, c, d, m, n은 정수)

    • d|m이고 d|n이면 d|(m+n) m=dk, n=dl (k, l∈Z) ∴m+n=dk+dl=d(k+l)
    • d|m이고 d|n이면 d|(m-n) m=dk, n=dl ∴m-n=dk-dl=d(k-l)
    • d|m이면 d|mn m=dk, mn=dkn=d(kn)
    • a|b이고 b|c이면 a|c b=ak, c=bl c=akl=a(kl)
    • 정수 n을 d로 나누어 나오는 몫 q와 나머지 r이 있을 때, r을 구하는 연산 또는 n=dq+r을 만족하는 정수 r을 구하는 연산 n mod d = r
    • q: 몫(quotation) d: n의 약수(divisor) 또는 인수(factor) n: d의 배수 r: 나머지(remainder), 0≤r
    • n mod d = 0 ⇔ d|n

      나머지 연산 n mod d


2. 수 체계

  • 10진수(Decimal Number)

    • 기수를 10으로 하는 수 체계, 0에서 9사이의 숫자를 이용해 수를 표현
    • 정수 n에 대해 (k>0, 0≤a≤9) n10 = akak-1 …a1a0 = ak10k+ak-110k-1+…+a1101+a0100
    • 실수 n에 대해 (k,l>0, 0≤a≤9) n10 = akak-1 …a1a0 a-1a-2…a-l = ak10k+ak-110k-1+…+a1101+a0100 +a-110-1+a-210-2+…+a-l10-l+…
  • 2진수(Binary Number)

    • 기수를 2로 하는 수 체계, 0과 1을 이용해 수 표현
  • 8진수(Octal Number)

    • 기수를 8로 하는 수 체계, 0에서 7사이의 숫자를 이용해 수를 표현
  • 16진수(Hexadecimal Number)

    • 기수를 16으로 하는 수 체계, 0에서 9와 A(10)에서 F(15) 사이의 숫자를 이용해 수를 표현

    • (예제) 9B.FE316을 기수와 자리수를 이용해 풀어 쓰시오.

      9B.FE316 = 9×161+B×160 +F×16-1+ E×16-2+3×16-2 = 9×161+11×160 +15×16-1+14×16-2+3×16-2

(예제) 다음 2진수를 연산하시오. 101+11, 100-11, 1101×11, 10110÷101

 

(예제) 다음 16진수를 연산하시오. 939+99, 5A4-CE, D82×39, BB1÷3C

(예제) 10진수 163.875를 2진수로 변환 => 10100011.111

정수부와 실수부를 나누어 각각 다른 방식으로 2진수로 변환한다.

정수부 163 = 81 * 2 + 1

                  = 40 * 22 + 1 * 2 + 1

                  = 20 * 23 + 0 * 22 + 1 * 2 + 1

                  = 10 * 2 4 + 0 * 23 + 0 * 22 + 1 * 2 + 1

                  = 5 * 25 + 0 * 2 4 + 0 * 23 + 0 * 22 + 1 * 2 + 1

                  = 2 * 26 + 1 * 25 + 0 * 2 4 + 0 * 23 + 0 * 22 + 1 * 2 + 1

                  = 1 * 27 + 0 * 26 + 1 * 25 + 0 * 2 4 + 0 * 23 + 0 * 22 + 1 * 2 + 1

따라서 정수부를 2진수로 변환했을 때 각각의 자릿수를 알기 위해서는 정수부를 계속 나눠준 나머지를 역순으로 세면 된다.

이 실수부는 이와 반대이다.

실수부 0.875 = (1.75) * 2-1

                     = 1 * 2-1 + (0.75 * 2) * 2 -2

                     = 1 * 2-1 + 1 * 2 -2 + (0.5 * 2) * 2-3

                     = 1 * 2-1 + 1 * 2 -2 + 1 * 2-3

따라서 실수부를 2진수로 변환했을 때의 자릿수를 알기 위해서는 실수부를 계속 곱해준 값의 정수부를 차례대로 세면 된다.

 

(예제) 10진수 163.875를 8, 16진수로 변환
10진수를 8, 16진수로 바꾸는 것은 복잡하기 때문에 10진수를 2진수로 먼저 바꾼 후, 2진수를 8진수, 또는 16진수로 바꾼다.