컴퓨터구조 9-1

BakJeonghyun·2022년 10월 24일
0

전공컴퓨터구조

목록 보기
9/13

Ch 5. 데이터와 디지털 논리회로


데이터 개요

데이터의 종류

수치 데이터 / 비수치 데이터

데이터의 형식

컴퓨터가 지원하는 데이터의 표현 방식
소수의 데이터 형식을 지원한다.

데이터와 진법

. . .

정수

정수: 정수를 구성하는 비트의 수가 컴퓨터 설계에 의해 제한된다.
컴퓨터는 2진법을 사용한다.
정수는 0과 양의 정수, 음의 정수로 구서오딘다.
무부호 정수 - 0과 양의 정수만을 포함
유부호 정수 - 0, 양의 정수, 음의 정수

무부호 정수의 표현

2진수 표현
	13 -> 1101

0확장
	00000000000000000000000000001101

8진법
	00 000 000 000 000 000 000 000 000 001 101
    ->0 0 0 0 0 0 0 0 0 1 5
    
    : 001 -> 0*2^2 + 0*2^1 + 1*2^0 = 1
    : 101 -> 1*2^2 + 0*2^1 + 1*2^0 = 5

16진법
	0000 0000 0000 0000 0000 0000 0000 1101
    ->0 0 0 0 0 0 0 D
    
    0~15 (10): 0 1 2 3 4 5 6 7 8 9 A B C D E F (16)
    1101(2) = 13(10) = D(16)
    

유부호 정수 표현: 부호-크기 방식

- 1비트(MSB): 부호 비트
	0: 양수
    1: 응수
- 나머지: 크기 필드

- 4비트 정수에서 크기를 나타내는 3비트는 0~7의 수를 표현할 수 있으므로 정수 =7~ 7을 나타낼 수 있다.

- 장점: 부호 비트만 바꾸면 양수를 음수로, 음수를 양수로 변환할 수 있다.

- 단점
	: 연산을 수행할 때 부호를 별도 점검해야 한다.
    : +0과 -0이 존재한다.
    : 32비트로 구성된 워드는 MSB를 부호 비트로 사용하고, 
    나머지 31비트는 크기로 사용한다. 따라서 32비트 워드는 -(2^31 -1) ~ +(2^31 -1)을 표현할 수 있다.
    ->이게 왜 단점이야?
    
4비트로 구성된 부호-크기 방식은 1101(2)은 13이 아니라 -5를 의미한다. 

1101(2)를 32비트의 부호-크기 방식으로 표현하려면 0-확장과는 달리 MSB와 MSB 다음 비트 사이에 28비트의 0을 덧붙여야 한다.
	비트 확장 10000000000000000000000000000101(2)
    = -5(10)

유부호 정수 표현: 1의 보수

(4비트 사용) 양의 2진수 y에 대한 1의 보수는 (2^4 -1) -y이다.
	15 -> 1111 -> 이거 다시 해. 이해 못 함.

-0 ~ -7은 +0 ~ +7에서 각 비트에 나타난 0을 1로, 1을 0으로 반전하면 된다.

4비트로 구성된 1101(2)이 1의 보수 방식이라면 부호비트가 1이므로 음수이다.

32비트이 경우 -(2^31 - 1) ~ +(2^31 - 1)

부호 확장
	- 4비트로 구성된 양의 2진수 0101(2) (=+5)를 32비트로 표현하려면 다음과 같이 선행하는 0을 28개 덧붙이면 됨
    	->00000000000000000000000000000101
    - 1101(2) (=-2)을 32비트로 구성된 1의 보수 방식으로 표현하려면 다음과 같이 선행하는 1을 28개 덧붙여야 됨
    	->1111111111111111111111111111111101


장점

단점

유부호 정수 표현: 2의 보수

'-0'이란 없다.

음의 정수는 1의 보수 방식보다 1을 크게 표현한다.

~(2^k -1) -y +1 -> 2^k -y

4비트로 구성된 2의 보수 방식은 -8부터 +7의 정수를 표현
32비트로 확장할 때 양수는 0을, 음수는 1을 채운다. 
32비트: -2^31 ~ 2^31 -1

장점: 0이 한 개다.

단점: 변환이 조금 복잡하다.

유부호 정수 표현: 초과수

실제의 수치에 어떤 수만큼 더해서 표현하는 방식 - 바이어스된 수(편차)

7초과 코드는 7을 더하여 표현-> 바이어스가 7임.

0은 7을 더해서 7로 표현, 2는 7을 더해서 9로 표현.

초과 코드 수를 연산할 경우, 연산 후 결과 값을 보정할 필요가 있다.
	2진수 표현: (+2) + (-5) = -3
	7초과 코드: 9 + 2 = 11 (1001 + 0010 = 1011)
    -> 다시 하자.
    
장점: 두 수의 크기를 비교하는 데에 용이하다.

단점: 표현법이 불편하다.

2의 보수 방식의 대중성

동일한 부호를 가진 두 숫자의 덧셈과 다른 부호를 가진 두 숫자의 덧셈 방법이 다르다.

		1 0 1 1 (-3)
    	1 0 0 1 (-1)
    + ______________
    	1 1 0 0 (-4)
    : 숫자의 부호가 동일한 경우
    
    	1 0 1 1 (-3)
    	0 0 0 1 (+1)
    + ______________
    	1 0 1 0 (-2)
    : 숫자의 부호가 다른 경우
    : 절대값이 큰 수의 부호를 따라간다. 크기는 뺀다.
    
        
profile
I just got started a blog.

0개의 댓글