답변 :
int는 4 byte로 구성됩니다.
byte 배열로 바꾸려면 int 값을 네 부분으로 나누어야겠죠.
예를 들어 int 값을 2진수로 표현했을 때
val = 10101110 10101010 11101010 10101111 (2) 일 때
val >> 24 = 10101110 (2) 이고 이 경우에는 0xFF 와 &를 취할 필요가 없죠.
val >> 16 = 10101110 10101010 (2) 이기 때문에 뒤의 8 비트를 남겨야 하니까
0xFF와 &을 취합니다. (val >> 16) && 0xff = 10101010 (2) 입니다.
val >> 8 = 10101110 10101010 11101010 (2) 에서 뒤의 8 비트를 남기기 위하여
0xFF와 & 를 취합니다. (val >> 24) && 0xff = 11101010 (2) 입니다.
byte 배열로 바꾸려면 int 값을 네 부분으로 나누어야겠죠.
예를 들어 int 값을 2진수로 표현했을 때
val = 10101110 10101010 11101010 10101111 (2) 일 때
val >> 24 = 10101110 (2) 이고 이 경우에는 0xFF 와 &를 취할 필요가 없죠.
val >> 16 = 10101110 10101010 (2) 이기 때문에 뒤의 8 비트를 남겨야 하니까
0xFF와 &을 취합니다. (val >> 16) && 0xff = 10101010 (2) 입니다.
val >> 8 = 10101110 10101010 11101010 (2) 에서 뒤의 8 비트를 남기기 위하여
0xFF와 & 를 취합니다. (val >> 24) && 0xff = 11101010 (2) 입니다.
출처: 네이버 지식인
댓글 없음:
댓글 쓰기