소수점(float,double) 있는 십진수를 이진수로 변환

 

 

십진수가 소수점 이상일 경우에는 2로 나누어서 계산하고

십진수가 소수점 이하일 경우에는 2를 곱하여 계산하면 됩니다.

 

예를 들어, 0.625를 이진수로 변환한다면

0.625 에 2를 곱하면 1.25, 여기서 소수점 위의 수 즉, 1을 오른쪽으로 뺍니다…………1

0.25 에 2를 곱하면 0.5, 여기서 소수점 위의 수 즉, 0을 오른쪽으로 뺍니다…………0

0.5 에 2를 곱하면 1.0, 여기서 소수점 위의 수 즉, 1을 오른쪽으로 뺍니다…………1

0 이 나옵니다.

우측에 나열된 숫자를 위에서 아래로 읽어 주면 됩니다.

101 <- 이진수로 101 가 됩니다.

 

 

 

 

소수점 있는 십진수를 이진수로 출력하는 소스입니다.

 

 

#include "stdafx.h"

 

int _tmain(int argc, _TCHAR* argv[])

{

    double dValue = 0.625;

    printf("INPUT: %f\r\n", dValue);

 

    printf("OUTPUT:");

    while (0 != dValue)

    {

        dValue = dValue*2;

 

        printf("%d",(int)dValue);

        if(dValue >=1)

        {

            dValue = dValue -1;

        }

 

    }

    

    printf("\r\n",(int)dValue);

 

    return 0;

}

 

 

 

 

 

실행 결과

 

 

 

사업자 정보 표시
화이트앳 | 박원호 | 서울 용산 서계동 252-8 | 사업자 등록번호 : 106-11-55283 | TEL : 070-4412-5754 | 통신판매신고번호 : 2011-서울용산-01007호 | 사이버몰의 이용약관 바로가기

+ Recent posts

티스토리 툴바