728x90
정수를 2진수로 변환하는 것은 쉽게 하다가도 갑자기 소수점을 2진수로 변환하라고 하면
당황하는 경우가 있다.
간단히 정리해 보면 다음과 같다.
소수점을 포함하는 10진수를 2진 수로변경 하려면
- 정수 부분을 먼저 2진수로
- 소수점이하 부분을 2진수로
- 위의 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
'IT잡학사전' 카테고리의 다른 글
컴퓨터 연산(뺄셈) 과정 에서 필요한 2의 보수 이해하기 (0) | 2024.04.08 |
---|
댓글