2017.12.09 08:57

2진수를 8진수로

조회 수 249 추천 수 0 댓글 0

#include <stdio.h>

char num[16]={'0'};
int aa[3];
int answer[5]={0};

void put(void);
void change(void);
int result(int a);
int main(void)
{
	scanf("%s", &num);

	put();

	if(num[0]=='1')//음수일 경우 
	{
		change();
		printf("%d", result(1));
	}
	else//양수일 경우 
		printf("%d", result(0));

	return 0;
}

void put(void)
{
	int i;
	aa[2]=1;
	for(i=1; i>=0; i--)//2의 제곱수 집어넣기 
	{
		aa[i]=aa[i+1]*2;
	}
}

void change(void)//1의 보수로 바꾸기 
{
	int i;
	for(i=0; i<16; i++)
	{
		if(num[i]=='1')
			num[i]='0';
		else
			num[i]='1';
	}
}

int result(int a)
{
	int i, j, an=0, b=10000;

	for(i=0; i<5; i++)//8진수로 변환 
	{
		for(j=(i*3)+1; j<=(i*3)+3; j++)
		{
			if(num[j]=='1')
				answer[i]+=aa[(j-1)%3];
		}
		an+=answer[i]*b;
		b=b/10;
	}


	if(a==1)//음수일 경우 
		an=0-(an+1);

	return an;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 299
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1079
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2394
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10308
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4719
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8267
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18956
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37860
210 정올 기초다지기(문자열1-자가진단2) killerjack 2014.09.20 584
209 정올 기초다지기(문자열1-자가진단4) killerjack 2014.09.20 573
208 정올 기초다지기(문자열1-자가진단5) killerjack 2014.09.20 413
207 정올 기초다지기(문자열1-자가진단6) killerjack 2014.09.20 725
206 정올 기초다지기(문자열1-자가진단7) killerjack 2014.09.20 568
205 정올 기초다지기(문자열1-자가진단8) killerjack 2014.09.20 503
204 정올 기초다지기(문자열1-자가진단9)ver 1. killerjack 2014.09.20 685
203 정올 기초다지기(문자열1-자가진단9)ver 2. killerjack 2014.09.20 703
202 정올 기초다지기(문자열2-자가진단2) killerjack 2014.09.27 831
201 정올 기초다지기(배열2-자가진단3) killerjack 2014.05.31 1572
200 정올 기초다지기(배열2-자가진단6) killerjack 2014.05.31 1432
199 정올 기초다지기(배열2-자가진단7) killerjack 2014.05.31 1507
198 정올 기초다지기(파일 입출력-자가진단1) killerjack 2014.11.22 1072
197 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 580
196 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 582
195 정올 기초다지기(파일입출력-자가진단4)미완성 killerjack 2015.04.11 274
194 정올 기초다지기(포인터-자가진단1) killerjack 2014.11.15 717
193 정올 기초다지기(포인터-자가진단2) killerjack 2014.11.15 391
192 정올 기초다지기(포인터-자가진단3) killerjack 2014.11.15 585
191 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 560
Board Pagination Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 26 Next
/ 26