인프런 커뮤니티 질문&답변

junpyo lee님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

[RENEWAL] 2진수, 10진수, 16진수

2진수

20.08.17 19:23 작성

·

168

1

10진수를 2진수로 바꿀때 2까지는 알겠는데 3,4를 2진수로 바꾸는게 어렵네요. 한번만 다시 자세하게 설명 부탁드립니다.

답변 2

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2020. 08. 18. 12:20

우리가 일반적으로 10진수에서 숫자를 셀 때를 생각해보시면,
0, 1, 2, 3, ... , 7, 8, 9까지 센 다음,
'십'이라는 숫자를 10으로 표기합니다.

0, 1, 2, 3, ... , 7, 8, 9은 사실
00, 01, 02, 03, ... , 07, 08, 09로 표기해도 똑같은데,
그 다음 숫자인 '십'을 10으로 표기하는 이유는
9 다음에는 표기할 수 있는 숫자가 없기 때문에,
해당 숫자를 초기 상태 (0)으로 되돌리고,
그 다음 자리 숫자를 1 증가시켜 서 (0+1) (9->0) = 10 로 표기하기 떄문입니다.
그래서 사실 10은 1 * 10 + 0인 셈이죠.

마찬가지로 2진수로 표현할 때도 똑같은 규칙을 적용하면 됩니다.
표현할 수 있는 숫자가 0, 1 이렇게 둘만 있다고 생각하고,
1을 초과하면 0으로 리셋하고, 왼쪽에 있는 숫자를 1 증가시키는걸 반복하게 됩니다.
따라서 십진수 0,1,2은 이진수로 0b00 0b01 0b10이 되며,
다음 숫자인 십진수 3, 4의 경우도 똑같이

3 = 2 + 1 = 0b10 + 0b01 = 0b11
4 = 3 + 1 = (0b11)  + 0b01 = 0b100

바로 계산하기 어렵다면 풀어서 써도 됩니다.
4 = 2 + (1 + 1) =  0b10 + (0b01) + 0b01 = 0b10 + 0b10 = 0b100

가 됩니다.



0

junpyo lee님의 프로필 이미지
junpyo lee
질문자

2020. 08. 20. 21:28

감사합니다