반응형

(scanf 가 에러 발생시 아래 참고)

https://ansan-survivor.tistory.com/899

 

[Visual Studio 2019] 비주얼 스튜디오 2019 scanf_s 오류, scanf 사용하기 변경

예전에는 scanf 를 상용함에 있어 문제가 없었는데, 비쥬얼스튜디오가 계속업그레이드가 되면서 scanf_s를 사용하지 않으면 오류를 일으킨다. 따라서 이 에러를 해제 시키고 예전처럼 scanf를 사용

ansan-survivor.tistory.com

 

10진수 숫자를 2진수의 숫자로 변환시켜주는 코드

10진수값을 입력하면 2진수로 변환시켜준다.

비트연산자 << >> 를 이용한 코드

/* 10진수를 2진수로 변환하기(비트 연산자 이용)*/
int main(void)
{
	int integer = 0, i = 0; //integer : 입력받을 10진수 정수, i : 비트 자리, 

	printf("10진수 양의 정수를 입력하세요 : "); //10진수 정수 입력
	scanf("%d", &integer);
	printf("10진수 %d는 2진수로 ", integer);

	for (i = 31; i >= 0; i--) //앞쪽에 0 표기되는 것을 방지하기 위해 2진수가 처음 시작하는 비트 자리 확인
	{
		if (integer&(1 << i))
		{
			break;
		}
	}
	for (i; i >= 0; i--) // 2진수가 시작하는 비트 자리 부터 '&'연산으로 2진수 출력
	{
		if (integer&(1 << i))
		{
			printf("1");
		}
		else
		{
			printf("0");
		}

		if (i%4 == 0) // 2진수를 4자리씩 끊어서 표기
		{
			printf(" ");
		}
	}
	printf("입니다.");
	printf("\n");
}
반응형

(결과)

10진수의 값을 입력받음.

5입력시
24입력시

 

 

비트연산 없이 변환하는 코드.

https://ansan-survivor.tistory.com/905

 

[C언어] 10진수를 2진수로 변환, decimal to Binary code

10진수 숫자를 2진수의 숫자로 변환시켜주는 코드 10진수값을 입력하면 2진수로 변환시켜준다. #include /* 10진수를 2진수로 변환하기(goto문, for문 이용)*/ int main(void) { unsigned int integer = 0, sub =..

ansan-survivor.tistory.com

 

 

 

반응형

+ Recent posts