Java

2진수와 16진수 +@ 10진수

오개발 2024. 10. 18. 17:34

공부 하다가 2진수와 16 진수의 대해 알아보고 내가 이해 한게 맞는지 블로그를 작성하였습니다.

 

 

 2 진수 ( 0,1)

10 진수 ( 0,1,2,3,4,5,6,7,8,9)

16 진수 ( 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F)

 

내가 그냥 쉽게 이해한건

2지수는 2개의 값 표현

10진수 10개의값으로 표현

16 진수는 16개의 값으로 표현

 

10진수 2진수 16진수
10 1010 A

 

 

위에 표의 값은 전부 동일한 숫자이다.

 

10진수와 2진수의 값 변환 표를 보자

 

 

10진수 2진수 10진수 2진수
0 0 8 1000
1 1 9 1001
2 10 10 1010
3 11 11 1011
4 100 12 1100
5 101 13 1101
6 110 14 1110
7 111 15 1111

 

 

여기서 2진수에서 +1씩 더한다.

 

2진수의 1의 값에서 + 1을 더하면 10이 된다. 여기서 중요한건 절때 1초과의 값이 못들어오니  올림으로 생각하면 된다,

 

1 -> 10 으로 2진수 변경

위에 계산식으론 10진수론 1에서 2로 값이 올라간것이다. 그럼 다른걸로 

110 -> 111 의 값은 어떻게 변경되는것인가? 

 

10진수로는 7의 값이다.

 

 


 

2진수와 16진수

 

컴퓨터 공학에선 8개의 bit를 통해 데이터의 최소 단위의 저장소이다.

8개의 bit를 묶어서 Byte 이다 컴퓨터가 저장하는 최소 단위이다.

 

그럼 쪼개서 4bit 4bit 인데,

 

4bit당 : 0 ~ 15까지 숫자를 선언할수 있습니다. 

0 ~ 9 까지는 10진수에선 작성 할수 있지만 10 ~ 15까진 존재 하지 않습니다. 그래서 많은 고민 끝에

10(a), 11(b), 12(c), 13(d),14(e), 15(f) 이렇게 알파벳으로 지정하게 되었다.

 

 

 

 

만약 이렇게 있다면 F   F  값이다. 값이 15인것이다.

여기서 16진수 표기법은 0xFF  이렇게 붙인다.

 

 

 

2진수에서 16진수로 사용하는 이유는 사람이 봤을떄 간결하게 확인 할수 있어서이다.

 

 

 

 

 

 

'Java' 카테고리의 다른 글

스트링 빌더와 스트링 연산 최적화  (3) 2024.10.29
UTF 인코딩  (0) 2024.10.28
정수 오버플로우  (0) 2024.10.18
시멘틱 버저닝  (0) 2024.10.18
상속보다 컴포지션(조합)을 사용하라  (0) 2024.10.17