(123.123)10진수 --> 2진수로 정수부분과 소수부부을 따로 생각합니다.
123 -->
61 * 2 + 1 이므로 1을 구합니다.
30 * 2 + 1 이므로 1
15 * 2 + 0 이므로 0
7 * 2 + 1 이므로 1
3 * 2 + 1 이므로 1
1 * 1 + 1 이므로 1
0 * 1 + 1 이므로 1
결과 (111 1011)을 구합니다.
이진법에서 10진법으로 바꾸는 것을 역산 했다고 보면 됩니다.
1-->1
11-->1*2+1-->3
111-->3*1+1-->7
1111-->7*2+1-->15
11110-->15*2+0-->30
111101-->30*2+1-->61
1111011-->61*2+1-->123 [끝]
소수부분입니다.
.123-->
.246--> 첫번째 소수자리 0
.492--> 두번째 소수자리 0
.984--> 세번째 소수자리 0
1.968 --> 네번째 소수자리 1
1.936 --> 다섯째 소수자리 1
1.872 --> 여섯째 소수자리 1
1.744 --> 일곱째 소수자리 1
1.488 --> 여덟째 소수자리 1
0.976 --> 아홉째 소수자리 0
1.952 --> 열번째 소수자리 1
1.904 --> 열한번 소수자리 1
1.808 --> 열두째 소수자리 1
1.616 --> 열세째 소수자리 1
1.232 --> 열네째 소수자리 1
.464 --> 열다섯 소수자리 0
.928 --> 열여섯 소수자리 0
1.856 --> 열일곱 소수자리 1
1.712 -->열여덟 소수자리 1
1.424 --> 열아홉 소수자리 1
.848 --> 스무째 소수자리 0
1.696 -->2십일 소수자리 1
1.392 --> 2십이 소수자리 1
.784 --> 2십삼 소수자리 0
1.568 --> 2십사 소수자리 1
1.136 --> 2십오 소수자리 1
.272 --> 2십육 소수자리 0
......... 결국은 순환소수가 됩니다.
.0001 1111 0111 1100 1110 1101 10.... 가 됩니다.
111 1011.0001 1111 0111 1100 1110 1101 10.... 가 됩니다.
==========================================================
(123.123)10진수 --> 16진수로 정수부분과 소수부부을 따로 생각합니다.
123 -->
7*16 + 11
0*16 + 7
7B 가 됩니다.
소수부분
.123--> 16을 계속 곱해 갑니다.
1.968 --> 첫번째 수 1이 나옵니다. .968 곱하기 16
15.488 --> 두번째 수 F가 나옵니다. .488 곱하기 16
7.808 --> 세번째 수 7이 나옵니다. .808 곱하기 16
12.928 --> 세번째 수 C가 나옵니다. .928 곱하기 16
14.848 --> 네번째 수 E가 나옵니다. .848 곱하기 16
13.568 --> 다섯째 수 D가 나옵니다. .568 곱하기 16
9.088 --> 여섯째 수 9가 나옵니다. .088 곱하기 16
음 힘들군요
7B.1F7CED9....... 가 됩니다.
개념만 안다면 16진수로 바꾸는 편이 착오가 덜 생기는 군요!!
8진수는 16대신 8을 써서 하면 됩니다.
'기타 > 컴퓨터공학' 카테고리의 다른 글
float형 연산하고나서 오차나는이유가 뭔지알려주세요 (0) | 2012.07.02 |
---|---|
어셈블리어와 리버스 엔지니어링 (0) | 2012.05.16 |
0.6십진수를 8비트와 16비트로 변환시 발생된 오차 (0) | 2012.03.12 |
임베디드 프로그래밍이란 정확히 무엇인가요? (0) | 2012.03.03 |
Lua 언어가 결합언어라는 뜻은? (0) | 2012.01.18 |