C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[64178] 소수점 이하 2진수를 10진수를 변환하는데 있어, float형에 1이 안더해집니다.ㅠㅠ
궁금해요cc [] 1900 읽음    2011-04-18 11:42
void BtoD() // 소수점 이하 2진수를 10진수로 바꾸는 작업
{
int   c=0, d=1, sum=0;
float cc, binary;

cout << "2 진수를 입력해주세요 : ";
cin >> binary;
cout << "입력받은 2 진수 ";
cout << binary;
cout << "의 10 진수로 변환된 값은 : ";



for(cc=binary ; cc>0 ;  cc=cc-1 )
{

cout << " 10곱하기 전의 cc 값은 "  << cc << endl;
cc = cc * 10;
cout << " 10곱하기 후의 cc 값은 "  << cc << endl;

if(cc>=1)
   c=1;
else if(cc<1)
   c=0, cc=cc+1;

  sum += c*d;
d*=2;



}

cout << sum ;
cout << " 이다";
cout << endl;
cout << endl;
cout << endl;
cout << endl;
}







여기서,

else if(cc<1)
   c=0, cc=cc+1 부분에서

cc가 0.01이 되어 1보다 작으니 1을 더해주라는 명령어인데...



1이 안더해지는것 같습니다.

왜 그런지 도저히 해석이 안됩니다.



위의 소스는 0.101과 같은 소수점 이하의 수에 대한 진수 변환인데...

10진수를 2진수로 변하는것은 맘껏 되는데,

2진수를 10진수로 변하는 것은 맘처럼 쉽게 안되네요ㅠㅠ



다들 오늘 하루도 좋은 하루 보내시고, 부디, 너무나 쉬운 부분이라고 지나쳐 가지 말아주시고

답변 좀 부탁드립니다. 꾸벅

+ -

관련 글 리스트
64178 소수점 이하 2진수를 10진수를 변환하는데 있어, float형에 1이 안더해집니다.ㅠㅠ 궁금해요cc 1900 2011/04/18
64179     Re:소수점 이하 2진수를 10진수를 변환하는데 있어, float형에 1이 안더해집니다.ㅠㅠ 궁금합니다 1895 2011/04/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.