본문 바로가기
Study/컴퓨터 구조

컴퓨터 구조 - 데이터의 표현과 컴퓨터 연산

by Jamie Lim 2020. 4. 18.

1. 컴퓨터 정보의 표현

  1) 비트 bit : 컴퓨터 정보 표현의 기초 단위로 2진법에서 데이터를 표현하는 단위 ( 0 / 1 )

  2) 바이트 byte : 비트들로 구성된 정보 표현 단위 (8bit = 1byte)

  3) 워드 word : 바이트들로 구성된 정보 표현 단위 (1word = 2byte 혹은 4byte)

  4) 10진법 : 인간이 사용하는 수의 체계 (0~9를 이용)

  5) 2진법 : 컴퓨터에서 사용하는 수의 체계 (0 1을 이용)

  6) 16진법 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F를 이용

 


2. 2진 정수 표현

  1) 10진수를 부호가 없는 2진수로 변환

 

 

- 10진수 값을 2로 연속해 나눠 획득되는 나머지 값을 이용해 부호 없는 2진수로 변환

 

 

 

 

2) 10진수를부호 있는 2진 정수 표현

    (1) 최상위 비트 : 부호 비트 (0 : 양수, 1 : 음수)

 

    (2) 부호화 크기 표현

      - n비트로 구성된 2진수

      - 최상위 비트 : 부호 비트

      - 나머지 n-1개의 비트들 : 수의 절대 크기

      - 문제점 : 0에는 +-가 붙을 수 없는데 앞에 10을 붙이냐에 따라 +0-0이 됨

      ex) +21 : 00010101      -21 : 10010101

 

    (3) 보수를 이용한 표현

      - 1의 보수

        최상위 비트 : 부호 비트

         표현할 수 있는 수의 범위 : -(2n-1 -1) ~ +(2n-1 -1)

         음수는 양수 2진 정수의 모든 비트를 반전

         +0-0이 둘 다 존재함

         ex) -21 : 11101010

 

      - 2의 보수

         최상위 비트 : 부호 비트

         표현할 수 있는 수의 범위 : -2n-1  ~ +(2n-1 -1)

         1의 보수의 결과 값에 1을 더함 (-0이 존재할 수 없음)

         ex) -21 : 11101011

 

    (4) 오버플로우

    - n비트의 데이터가 표현할 수 있는 범위는 -(2n-1 -1) ~ +(2n-1 -1). 그런데 이보다 크거나 작은 수를        출력하게 되면 다시 한 바퀴를 돌아 -(2n-1 -1) ~ +(2n-1 -1) 범위 안의 값이 나와 다른 수가 출력 된다.

      즉, 메모리에 표현 범위를 초과하는 수의 값을 넣었을 때 발생한다.

 


3. 2진수의 논리 연산

  1) 기본 논리 연산

    (1) AND 연산 : 모든 입력 값이 모두 1인 경우에만 결과 값이 1, 그 외에는 결과 값이 0

    (2) OR 연산 : 모든 입력 값 중 하나만 1이어도 결과 값이 1, 모두 0인 경우에만 결과 값이 0

    (3) XOR 연산 : 모든 입력 값이 모두 동일하면 결과 값이 0, 그 외에는 결과 값이 1

    (4) NOT 연산 : 주어진 입력 값과 반대 값이 결과값이 됨

 

  2) 응용 논리 연산

    (1) Selective-set 연산 (선택적 선택 연산)

 

      - 선택된 특정 비트를 1로 세트시키는 연산

      - 입력 값의 하위 비트를 모두 1로 만든다

 

 

    (2) Selective-complement 연산 (선택적 보수 연산)

 

      - 선택된 특정 비트를 1의 보수로 변경하는 연산

      - 입력 값의 하위 4비트 모두 비트 반전

 

 

    (3) Mask 연산

      - 선택된 특정 비트들을 0으로 만드는 연산

      - 입력 값의 상위 4비트를 모두 0으로 만든다

 

 

 

    (4) Insert 연산

 

      - 입력 값 내의 특정 위치에 새로운 비트 값들을 삽입하는 연산

      - 입력 값의 하위 4비트에 특정 비트를 삽입함

 

 

 

    (5) Compare 연산

      - 두 입력 값을 비교하는 연산

      - 입력 값 두개를 비교해 같으면 0을 다르면 1을 출력

 

 

    (6) Circular shift

      - 최상위 혹은 최하위에 있는 비트가 반대편 끝에 있는 비트 위치로 이동해 비트가 회전

      - 순환 좌측 이동

      - 순환 우측 이동

 

    (7) Arithmetic shift

      - 부호비트는 유지하고, 수의 크기를 나타내는 비트들만 이동

      - 산술적 좌측 이동

      - 산술적 우측 이동

 


4. 퀴즈

 

2주차 문제 - 1.docx
0.01MB
2주차 답지 - 1.docx
0.01MB

댓글