본문 바로가기
  • 데이터야 놀자
IT잡학사전

소수점을 포함하는 10진수를 2진수로, 2진수를 10진수로 변환

by 데이터랑 2024. 4. 15.
728x90

 

정수를 2진수로 변환하는 것은 쉽게 하다가도 갑자기 소수점을 2진수로 변환하라고 하면

당황하는 경우가 있다.

 

간단히 정리해 보면 다음과 같다.

 

소수점을 포함하는 10진수를 2진 수로변경 하려면

 

  1. 정수 부분을 먼저 2진수로
  2. 소수점이하 부분을 2진수로
  3. 위의 1번과 2번 결괏값을 연결

예제 )   14.83 을 2진수로 변환하면  =>   1110.11011..

1. 정수부분을 먼저 2진수로 2. 소수점이하 부분을 2진수로

최종 몫과 나머지 부분을  밑에서 위로 화살표 순으로 연결

=> 1 1 1 0
정수 부분을 위에서 부터 아래 순서대로 연결

=> . 1 1 0 1 0 ….
 요약  :  2로 나누고 밑에서 위로  요약 : 2로 곱하고 위에서 아래로

 

 

 

 

소수점을 포함하는 2진수를 10진 수로변경 하려면

 

설명보다는 아래 예제를 통해 이해하는 게 빠르겠지!

 

예제 )   2진수 1000101.1011(2) 을 10진수로 변환하는 과정

 

 

 

 

 

컴퓨터의 한계 (?) 오류 (?) 발생

 

위의 과정을 잘 살펴보면 소수점을 2진수로 변환할때 2를 곱하면서 솟수점이하가 0이 나올때까지 하려면

무한히 반복하는 경우가 생긴다. (위의 0.83 같은 경우...)

 

하지만 컴퓨터는 소숫점을 표현하는 Bit체계 (예를 들어 8bit, 16bit, 32bit....)가 무한하지 않기 때문에

변환 후 역변환을 다시 하면 원래의 값과 일치하지 않는 문제가 발생할 수도 있다.

 

 

 

 

https://datawith.tistory.com/127

 

컴퓨터 연산(뺄셈) 과정 에서 필요한 2의 보수 이해하기

아들~ 한번 읽어봐 ^^ 일반적으로 보수의 개념은 컴퓨터 과학과 디지털 회로 설계에서 주로 표현되는 용어로, 부호 있는 정수의 표현과 연산에서 사용된다. 주어진 수에 대한 보완적인 수라고 정

datawith.tistory.com

 

728x90
728x90

댓글