진수 변환 공부를 하고 있습니다
문득 궁금해진것이 2진수의 경우 맨 앞의 자리를 부호를 정하기 위한 자리로 남겨두는것으로 알고 있습니다.
16진수를 예를 들어 2진수로 변환 할경우
A23 = 1010 0010 0011 라는 값이 나오는데
2진수 맨앞의 1은 음의 숫자 인것으로 알고 있습니다.
1010 앞에 부호를 정해주는 자리가 생략 된것인가요?
sehongpark님의 답변
# 0xA23은 실제로 0x0A23 입니다.
따라서, 부호영역은 숨겨진 나머지 비트영역에 나타나게 됩니다.
```
// 0x0A23
0000 1010 0010 0011
```
## 자바의 정수 표현
추가로 자바에서 정수는 아래와 같은 단위로 나타냅니다.
+ long(8 bytes)
+ int(4 bytes)
+ short(2 bytes)
+ byte (1bytes)
이들 중 십육진수 `0xA23`을 나타낼 수 있는 단위는 long, int, short입니다. 따라서 아래와 같이 표현할 수 있습니다.
```
// long
0000 0000 0000 0A23
// int
0000 0A23
// short
0A23
```
## 레퍼런스
+ java hex string to binary (https://goo.gl/HSqoJf)
+ java long size in bytes (https://goo.gl/qkq1ik)