(정보) 2진수를 10진수로 바꾸는 방법 (C언어, C11,C99)

2021. 9. 29. 18:47·C언어/개념 및 정리
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <math.h>
#include <stdio.h>
int neq(long long abc);
int main()
{
    long long a; // 2진수로 입력하므로, int의 범위를 벗어날 수 있어 long long 사용
    printf("이진수 입력하시오: ");
    scanf("%lld", &a); // long long => % lld
    printf("%lld = %d\n", a, neq(a)); // 10진수가 아니라 8,16진수로 빌드하고 싶으면 %d대신 %o,%x사용.
    return 0;
}
int neq(long long abc)
{
    int oac = 0, i = 0, n;
    while (abc != 0) {
        n = abc % 10;
        abc /= 10;
        oac += n * pow(2, i);
        ++i;
    }
    return oac;
}
Colored by Color Scripter
cs

간단하게 설명하면 이진수를 10으로 나눈 나머지를 10으로 나눈 값이 0이 아니면 2의 제곱을 더하는 것이다.

반응형
'C언어/개념 및 정리' 카테고리의 다른 글
  • (C언어) 문자열 함수의 모든 것
  • C언어 카운팅 정렬 단순정리 & 백준(S5) 수 정렬하기 (C언어 C11 C99)
  • C언어 qsort 함수 (C언어 C11 C99)
  • (C언어)DP Dynamic Programming 설명
코딩하는_대학생
코딩하는_대학생
Java Developer, Open Source Enthusiast, Proud Son
  • 코딩하는_대학생
    코딩하는 대학생에서 개발자까지
    코딩하는_대학생
  • 전체
    오늘
    어제
    • 분류 전체보기 (218)
      • 코딩하는 대학생의 책 추천 (8)
        • 클린코드 (5)
        • 헤드퍼스트 디자인패턴 (3)
      • Backend (8) N
        • Spring (14)
        • AWS (3)
        • 회고 (4)
        • Redis (5)
        • 다양한 시각에서 바라본 백엔드 (3)
      • Python (35)
        • 개념 및 정리 (15)
        • 백준 문제풀이 (20)
      • JAVA (17)
        • 개념 및 정리 (14)
        • 백준 문제풀이 (2)
      • 왜? (7)
      • C언어 (42)
        • 개념 및 정리 (9)
        • 백준 문제풀이 (32)
      • 개인 공부 (27)
        • 대학 수학 (5)
        • 대학 영어 (10)
        • 시계열데이터 처리 및 분석 (5)
        • 컴퓨터 네트워크 (6)
        • 운영체제 (1)
      • 솔직 리뷰 (23)
        • 꿀팁 (6)
        • IT기기 (1)
        • 국내 여행 (7)
        • 맛집 (2)
        • 알바 리뷰 (2)
      • 대외활동 (17)
        • 체리피우미 3기 (4)
        • 꿀잠이들 6기 (13)
      • 음식 평가 (1)
      • 일상 & 근황 (2)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩하는_대학생
(정보) 2진수를 10진수로 바꾸는 방법 (C언어, C11,C99)
상단으로

티스토리툴바