부호확장의 목적은 w비트의 정수 x가 주어질 떄 x를 w+k 비트보다 길이가 긴 정수로 변환시키기 위함이다.
규칙은 간단하다.
x의 부호비트를 k개 복사하여 뒤에 붙여준다.
아래와 같다.

예를 들면,
Decimal | Hex | Binary | |
x | 15213 | 3B 6D | 00111011 01101101 |
ix | 15213 | 00 00 3B 6D | 00... 00111011 01101101 |
y | -15213 | C4 93 | 11000100 10010011 |
iy | -15213 | FF FF C4 93 | 11... 11000100 10010011 |
위와 같이 부호비트가 0이면 0을, 1이면 1을 확장할 비트수 만큼 채워주면 된다.
C언어에서는 이러한 부호확장을 자동으로 해준다.
'코딩Language(전공)' 카테고리의 다른 글
[전공_컴퓨터구조] Computer Abstraction & Technology (0) | 2019.09.14 |
---|---|
[전공_시스템프로그래밍] 정수(Integer)의 연산 (0) | 2019.09.14 |
[전공_시스템프로그래밍] 정수(Integer) 데이터타입 (0) | 2019.09.09 |
[자바] 클래스와 객체 _ 설계도로 클론을 만들어보자 (1) | 2019.08.12 |
[ 리눅스 ] 사전지식2 Internet vs Web (0) | 2019.07.20 |