게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
대1때 낙서하다가 발견한 것.
게시물ID : programmer_14000짧은주소 복사하기
작성자 : 黑客
추천 : 3
조회수 : 758회
댓글수 : 4개
등록시간 : 2015/10/21 01:23:10
옵션
  • 창작글
  • 본인삭제금지
의문의 발단:
우리는 중학교 때 10진 순환소수의 분수 표기법을 배웠습니다.
그런데 2진법 등 타 진법에도 순환소수가 존재하는데 (10진법에선 유한소수여도 진법을 바꾸먼 순환소수가 되기도 함. 역의 경우도),
이 수를 분수로 표기하는 방법은 뭘까요?

---------------

2진법으로 x = 0.101101101101...(2) 이런 수를 생각해 봅시다.

그러면 2^3 * x = 8x = 101.101101101101...(2) 이고

8x - x = 7x = 101 (2) 이므로 x = 101 (2) / 7 = 5/7 임을 알 수 있습니다.

곧, 10진수 때와 마찬가지로 2진수 순환소수의 분수 표기는 abcd... (2) / {2^n - 1) 인 것이죠.

-------------------

이것이 유용한 경우는 여러 경우가 있는데, 가령 암산과 같은 경우에 유용합니다.

101100 101100 101100 (2) 같은 수를 빨리 암산해서 써먹어야 할 일이 있으면

먼저 0.101100... 순환소수를 분수로 고쳐 101100 (2) / (2^6 - 1) = 44/63 표기하면,

저 수는 순환소수에 2^18을 곱하고 소수부를 날려버린 수와 같으니깐 44/63 * 2^18 - 44/63 = 44/63 * (2/18 - 1) 이라는 걸 바로 알 수 있죠.

--------------------

한 가지 더 재미있는 경우가 있는데, 등비수열의 합 공식 유도에도 쓸 수 있는데,

고등학교 때 교과 과정에서 배운 유도법보다도 훨씬 직관적이에요.

1이 n개 있는 r진법의 수 111...1(r) 의 값을 따져보면 곧 초항이 1이고 항 개수가 n, 공비가 r인 등비수열의 합과 같게 되죠.

그렇다면 소수로 0.111... (r)인 수는 분수로 1/(r - 1)이고,

111...1.1111111... (r) 은 1/(r-1) * r^n 이며,

원래 구하려던 값은 여기에 소수부만 날리면 되니깐 1/(r-1) * r^n - 1/(r-1) = 1/(r-1) * (r^n - 1) = (r^n - 1) / (r-1) 이 되지요.

이제 초항이 1이 아니라 a인 등비수열의 합을 생각해 보면 이는 단순히 초항이 1일 때에서 a만 곱한 것에 불과하므로

위 식에서 a만 곱한 a (r^n - 1) / (r - 1) 이 합임을 알 수 있어요. 고딩 때 배운 공식과 같죠~




심심해서 순환소수로 장난치다 여기까지 발견했었는데 재미있지 않나요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호