31비트짜리 정수형을 만들려면 어떻게 해야하나요?

leonid의 이미지


C언어에서 int형은 32비트짜리 정수형인 걸로 알고 있습니다. (32번째 비트는 +/- 표시)

그런데 저는 지금 31비트짜리 정수형 (31번째 비트는 +/- 표시)가 필요한 상황입니다.

이를 만들 수 있는 방법 없을까요?

bxhs의 이미지

그걸로 하면 되지 않나요?

kaeri17의 이미지

<< 1로 한 다음 저장해서 꺼내 쓸때 >> 1하면 되겠네요

송효진의 이미지

shift 만 하면 음수 flag 이 없어지겠죠.
flag 만 따로 저장할 필요가 있겠습니다.

c 에서 31 bit 짜리 정수형 자체를 다루는 방법은 없을것 같네요.
하드웨어 특성에 의해 자연스럽게 그렇게 되는 환경은 있겠죠.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~

boina의 이미지

----------
뭐가 보이나?

시지프스의 이미지

처음에는 잘 이해가 안 되었는데 생각해보니 이게 정답이네요. sign extension입니다.

begin{signature}
THIS IS SPARTA!!!!!n.
end{signature}