본문 바로가기
자격증 및 시험/정보처리

[전자계산] 자료 단위, 진법 변환, 보수 및 음수 표현

by 진현개발일기 2023. 4. 27.

■ 자료의 단위 

종류 설명
* 컴퓨터 내부 단위 (1~4)
1. Bit 자료(데이터, 정보) 표현의 최소 단위
2. Nibble Bit 4개
3. Byte Bit 8개 (256가지 표현 가능), 문자 표현최소 단위이다.
4. Word CPU가 한 번에 처리할 수 있는 명령의 단위

[종류]
* Half-Word = 2Byte
* Full-Word = 4Byte
* Double-Word = 8Byte
* 논리적 단위 (5~9)
5. Field 필드 (= 아이템, Item, 항목)
- 파일 구성의 최소 단위
6. Record 1개 이상의 관련된 Field
7. Block 1개 이상의 관련된 Record
8. File 프로그램 구성의 기본 단위
- 여러 개의 Record로 이루어짐
9. Database 관련된 File의 집합

 

■ 진법 변환 (★★)

[종류]

 (1) 2진수 (0,1)

 (2) 8진수 (0~7)

 (3) 16진수 (0~9, A~F)

 (4) 10진수 (0~9)

 

방법 설명
10진수 -> N진수 정수부는 N으로 계속 나눠주고 소수부는 N을 계속 곱해준다.

(예) 10진수-> 2진수는 2로 나누고 8진수는 8로 나누고 16진수는 16으로 나눈다


10진수 16은 2진수로 10000이다. 이 원리로

(예) 13.625 10진수를 2진수로 바꾼다면

13 = 1101
정수부는 1101이다.

소수부는 0.625 이고 이를 000이될때가지 2를 계속 곱해주면
(1) .250
(0) .500
(1) .000
소수부는 즉 101이 되므로 13.625의 2진수는 1101.101이다.
N진수 -> 10진수 각 자리의 가중치를 계산한다.

예) (10000)2진수 -> (16)10진수
    = 1 * (2^4) + 0 * (2^3) + 0 * (2^2) + 0 * (2^1) + 0 * (2^0)
    = 16 

예) (1101.101)2진수 -> (13.625)10진수
   = 1* (2^3) + 1* (2^2) + 0 * (2^1) + 1 * (2^0)  +  1 * (1/2^1) + 0 * (1/2^2) + 1 * (1/2^3)
   = (8 + 4 + 0 + 1).(0.5 + 0 + 0.125)
   = 13.625

예) (272)8진수 -> (186)10진수 
   = 2 * (8^2) + 7 * (8^1) + 2 * (8^0)
   = 128 + 56 + 2 = 186

예) (FF)16진수 -> (255)10진수
   = 15 * (16^1) + 15 * (16^0)
   = 15 * 16 + 15 * 1 = 240 + 15 = 255
   (10부터 15까지 A~F이다)
2진수 <-> 8진수 3자리씩 묶어서 처리한다.

예) (10000)2 <-> (20)8
   
    10000 = /010/000 (1로끝나고 빈자리는 0으로 채운다)
    
    010 = 2
    000 = 0
   
    즉, 10000(2진수) = 20(8진수)
2진수 <-> 16진수 4자리씩 묶어서 처리한다.

 예) (10000)2 <-> (10)16
   
    10000 = /0001/0000 (1로끝나고 빈자리는 0으로 채운다)
    
    0001 = 1
    0000 = 0
   
    즉, 10000(2진수) = 10(16진수)
8진수 <-> 16진수 2진수로 변환 후 처리한다.

 (예1) 
 4CD(16진수)를 -> 8진수로 바꿔라
 4CD = 10진수로 각각 4, 12, 13이다. 이를 2진수로바꾸면
 0100 1100 1101이다. 이걸 세자로 끊어보자
 010/011/001/101 (2/3/1/5)이다.
 즉 4CD (16진수)의 8진수 값은 2315이다.

 (예2) 
 234(8진수)를 -> 16진수로 바꿔라
 = 010/ 011/ 100 
 = 1001/1100 (9/12)
 = 9C

■ 보수, 음수 표현 방법

* 보수 (Complement)
 : 서로 상반되는 수 (보수를 이용하면 가산기(덧셈)을 이용해서 뺄셈을 할 수 있다.

 (예) 10진수로 10의 보수를 기준으로 할 때 6의 보수는 4이고 4의 보수는 6이다.
          9의 보수를 기준으로 5의 보수는 4이고 4의 보수는 5이다.        


 (문제) 10진수 550의 9의 보수를 구해라
 (풀이)
   -> 10진수 550을 10의 보수로 보자면 1000-550 = 450이다. 
   -> 9의 보수로 변환하면 450 - 1 = 449이다.

  (문제) 2진수 11010의 1의 보수로 계산하라
  (풀이) -> 1의 보수는 반전시키면 된다. 즉 00101이다.

   (문제) 2진수 10001010의 2의 보수로 계산하라
   (풀이)
    1의 보수로 먼저 계산한다
    반전시킨 01110101에다 2의 보수이니 +1을 시키면
    답은 01110110이다.

 

* 음수 표현 방법
 : 컴퓨터에서 음수를 표현하는 방법은 3가지가 있다. (양수는 1가지)

(예시) -14를 8bit로 표현하면
 14는 8비트로 0000 1110이다. 이 예시를 기준으로 -를 표현하자면

(1) 부호화 절대치
    : 1000 1110이다. 첫 비트는 부호비트이며 음수이므로 1값을 준다. 

(2) 부호화 1의 보수
    : 부호화 절대치에서 부호는 고정시키고 반전을 시킨다.
      즉 1111 0001이다.

(3) 부호화 2의 보수
     : 부호화 1보수에서 +1을 더해준다. 즉 1111 0010이다.


(예시) 

8비트 컴퓨터에서 10진수 -13을 부호화 절대치 방식으로 표현한 것은?
= 1000 1101

728x90

'자격증 및 시험 > 정보처리' 카테고리의 다른 글

[컴퓨터] 컴퓨터 시스템 구성  (0) 2023.05.01
[전자계산] 자료 표현 방식  (0) 2023.04.27
[논리회로] 종류  (0) 2023.04.25
[논리회로] 간소화  (0) 2023.04.25
[논리회로] 개념  (0) 2023.04.24