반응형
(scanf 가 에러 발생시 아래 참고)
https://ansan-survivor.tistory.com/899
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진수의 값을 입력받음.
비트연산 없이 변환하는 코드.
https://ansan-survivor.tistory.com/905
반응형
'C언어 \ C++' 카테고리의 다른 글
[C언어] 홀수 짝수 구분하여 sort시키기 예제 (랜덤수 생성, 비트연산) (0) | 2021.09.20 |
---|---|
[C언어] 랜덤으로 생성한 8자리 수를 내림차순 정렬하기 예제 (0) | 2021.09.20 |
[C언어] 10진수를 2진수로 변환, decimal to Binary code (0) | 2021.09.19 |
[C언어] C언어 줄 입력받아 삼각형 별찍기 (0) | 2021.09.19 |
[C언어] C언어로 달력 만들기. 달력 출력하기. (0) | 2021.09.19 |