프로그래밍 기술/정보처리기사필기

[계산기 구조] 정수 데이터 표현

언제나휴일 2016. 4. 13. 11:14
반응형

정수 데이터 표현


정수의 부호
첫 번째 비트가 0이면 부호가 없는 정수(0과 양의 정수)
첫 번째 비트가 1이면 부호가 있는 정수(음의 정수)

양의 정수
첫 번째 비트는 0
나머지 비트는 크기입니다.
) 01001010 
맨 앞의 0은 부호, 1001010은 크기
이진수 1001010 = 2 6 + 2 3 + 2 1 = 64 + 8 + 2 = 74

음의 정수
첫 번째 비트는 1
부호 및 크기 방식, 1진 보수 방식, 2진 보수 방식에 따라 표현하는 방법이 다릅니다.

부호 및 크기 방식(Signed Magnitude)
부호 비트를 제외한 나머지 비트는 크기를 나타냅니다.
) 11001010
맨 앞의 1은 부호, 1001010은 크기
이진수 1001010 = 2 6 + 2 3 + 2 1 = 64 + 8 + 2 = 74
따라서 -74
단점: 10000000  크기가 0이고 부호가 있는 -0 입니다. 따라서 00000000 10000000 두 가지 0이 존재합니다.

1
진 보수(Signed 1's Complement)
부호 비트를 제외한 나머지 비트를 1진 보수를 취한 값이 크기를 나타냅니다.
) 11001010
맨 앞의 1은 부호, 1001010 1진 보수는 크기
1
진 보수를 취할 때는 0 1 1 0으로 변환합니다.
따라서 이진수 1001010 1진 보수는 0110101 입니다.
이진수 0110101 = 2 5 + 2 4 + 2 2 + 2 0 = 32 + 16 + 4 + 1 = 53
따라서 -53
단점: 11111111의 맨 앞의 1은 부호, 1111111 1진 보수는 0000000이어서 크기가 0
따라서 00000000 11111111 두 가지 0이 존재합니다.
연산방법
자리올림이 발생하면 결과에 자리올림한 수를 더합니다.
: 01110011 + 11000101 은 아래 그림처럼 연산하여 00111001입니다.


1진 보수 방식 계산

1진 보수 방식 계산


2
진 보수(Signed 2's Complement)
부호 비트를 제외한 나머지 비트를 2진 보수를 취한 값이 크기를 나타냅니다.
) 11001010
맨 앞의 1은 부호, 1001010 2진 보수는 크기
2
진 보수를 취할 때는 1진 보수를 취한 후에 1을 더합니다.
따라서 이진수 1001010 1진 보수는 0110101 입니다. 따라서 2진 보수는 0110110입니다.
이진수 0110110 = 2 5 + 2 4 + 2 2 + 2 1 = 32 + 16 + 4 + 2 = 54
따라서 -54
장점: 0이 한 가지만 존재합니다.
연산방법
자리올림이 발생한 것을 무시합니다.
: 01110011 + 11000101 은 아래 그림처럼 연산하여 00111000입니다.

2진 보수 방식 계산

2진 보수 방식 계산


1진 보수 방식과 2진 보수 방식에서는 뺄셈 연산을 덧셈으로 회로를 이용하여 계산합니다.

10
진법의 데이터를 표현하기 위한 방법으로 Pack Unpacked 연산을 사용하는 방법도 있습니다.
Pack
은 데이터 입출력은 불가능하며 연산은 가능합니다.
Unpack
은 데이터 입출력에 사용할 수 있고 연산은 불가능합니다. Zone 스타일의 10진 연산이라 부릅니다.

Pack
연산
4
비트로 10진수 1자리를 표현하면 최하위 4비트는 부호로 사용
양수의 부호는 1100, 음수의 부호는 1101로 표현, 부호없는 정수 표현에서는 최하위4비트를 1111로 표현

1234 => 0000 0001 0010 0011 0100 1100
-1234=> 0000 0001 0010 0011 0100 1101

Unpacked
연산
1
바이트에 1개의 정수를 표현합니다.
상위 4비트는 무조건 1111을 표현하는 Zone 영역이며
하위 4비트는 크기를 나타냅니다.
최하위 1바이트의 Zone영역에 부호를 표현하며 양수는 1100, 음수는 1101, 부호없는 양수는 1111로 표현합니다.
)
1234 => 1111 0001 1111 0010 1111 0011 1100 0100
-1234 => 1111 0001 1111 0010 1111 0011 1101 0100

너와 나의 연결고리 "공감"

반응형