블로그 이미지
하양앙마

카테고리

분류 전체보기 (11)
iPhone (0)
오픈 플랫폼 BSP (11)
업무일지 (0)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글

10진수 소수점을 2진수 변환

10진수 소수점을 1이 될때까지 2를 곱한다.
여기서 2를 곱했을 시 1미만이면 0
1초과면 1를 사용한다.(1초과이면 소수점 윗부분 1를 지우고 다시 소수점을 다시 2를 곱해 1이 될때까지 한다.)
1이 나오지 않는 무한 반복이 되는 수도 존재한다.

10진수 0.2를 2진수로 변환 10진수 0.5를 2진수로 변환
0.2 x 2 = 0.4 -> 0
0.4 x 2 = 0.8 -> 0
0.8 x 2 = 1.6 -> 1
0.6 x 2 = 1.2 -> 1
0.2 x 2 = 0.4 -> 0
0.4 x 2 = 0.8 -> 0
0.8 x 2 = 1.6 -> 1
0.6 x 2 = 1.2 -> 1
0.2 x 2 = 0.4 -> 0
0.4 x 2 = 0.8 -> 0
0.8 x 2 = 1.6 -> 1
0.6 x 2 = 1.2 -> 1
         :
         :
         :
 0.5 x 2 =1.0 ->1

10진수 0.2를 2진수 변환을 하면
위에서부터 0.001100110011…
10진수 0.2를 2진수 변환하면
위에서부터 0.1이 됩니다

위에서는 10진수의 소수점을 2진수로 변환을 하였으며
이것을 다시 10진수로 변환해보겠습니다.

2진수 0.001100110011를 10진수로 변환을 하면
앞에서 부터
소수점 첫째 자리부터 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 … 이 됩니다.
여기서 자리의 숫자가 0이면 해당자리에서 0를 곱하고 1이면 1를 곱해서 모두 더하면 10진수가 완성됩니다.

위의 숫자를 예를 들면
소수점 3~4번째, 7~8번째 … 가 1이 됩니다..
0일때는 0을 곱해서 0이 나오므로 1이 되는 자리만 계산해서 더하면 됩니다.

1/8 = 0.125
1/16 = 0.0625

1/128 = 0.0078125
1/256 = 0.00390625

이것을 더하면 0.2에 가까운 수가 나옵니다..
위의 숫자는 무한히 반복되는 수이므로 정확히 2는 나오지 않고 0.1999… 이렇게 0.2가 됩니다

추가로 0.1 2진수를 10진수로 변환하면
1/2 = 0.5

이것을 계산 하면 0.5의 10진수로 변환됩니다.
Posted by 하양앙마
, |