2013-10-12 2 views
0

int와 같은 더 큰 비트 값에 short 같은 작은 비트 크기 값을 할당 할 때 규칙에 대한 설명을 얻으려고합니다. 부호가있는 정수에 대해 2의 보수 연산을 사용하는 6 비트 컴퓨터를 가정하면 더 적은 수의 비트를 더 많은 비트로 캐스팅하면 어떻게됩니까? 끝이나 처음에 모든 0 또는 모든 것을 추가합니까? 확실하지, 어떤 도움을 주시면 감사하겠습니다. 즉 :짧은 3 비트에서 6 비트 int의 이진 캐스트

short num = -3; 
int y = num; 

이진수 101의 "num"은 y = 000101 또는 101000 또는 111101 ... 등입니까?

더 많은 비트 수로 캐스팅하는 규칙은 무엇입니까?

감사합니다.

답변

1

예제에서 num은 6 비트에 맞게 부호 확장되며, 이는 부호 비트가 y의 상위 3 비트에 복사됨을 의미합니다. num이 음수이면 해당 부호 비트가 '1'이고 결과는 111101입니다.