2진수를 10진수로 바꾸려고 하는데 막히네요..
한내
질문 제목 :2진수를 10진수로 바꾸려고 하는데 막히네요..질문 요약 :10진수를 입력 받아 2진수 변환후 그 변환한 2진수를 토대로 10진수를 변환 하려는 과정에서
2진수에서 10진수로 바꾸는 과정에서 막힘
질문 내용 :
#include stdio.h
#include conio.h
int main()
{
int a[100],b,e,f,r,t,j=1,i=0;
printf(숫자를 입력하세요(10진수) : );
scanf(%d, &b);
for(i=0;b0;i++)
{
r=b;//변한 몫을 적용
b=r/2;// 몫을 구하기 위한 수식
e=r%2;// 나머지를 구하는 수직
t=f=i;
a[i]=e;
printf(2진수 중간 결과 : 몫 %d 나머지 %d 2진수값 %d \n, b,e,a[i]); }
printf(2진수 결과값 \n,a[f]); for(f;f=0;f--)//거꾸로 출력 하기위한 수식
{
printf(%d,a[f]);
} //십진수 변환값 printf(십진수 변환값);
for(i=0;t=i;i++)
{
if(a[i]=1)
j=j*2;//여기서 부터 막힘...
}
getch();}십진수 변환 수식을 만들려고 하는중 자리수 때문에 막히네요.. 저렇게 그냥 했다간 한자리수에서 뱅뱅 돌테고
2진수 값이 10111으로 나왔다면 2^4+2^2+2^1+1로 해서 10진수 값이 나와야 하는데 자리수에따른 승의 제곱이 문제입니다.
자리수의 바뀜에 따라 승의 제곱도 바뀌여야 하는데 도통 떠오르지가 않네요..
if문에 for문을 줘서 해도 되는지 원..