본문 바로가기
코딩Language(전공)

[전공_시스템프로그래밍] 정수(Integer) 부호확장

by Nerdogger 2019. 9. 9.

부호확장의 목적은 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언어에서는 이러한 부호확장을 자동으로 해준다.