안녕하세요 오늘은 십진법 to 이진법 계산기를 만들어 보았습니다.
소스코드 보겠습니다.
소스코드
source.cpp
#include <stdio.h>
#include <string.h>
#include <math.h>
#define PLUS '+'
#define MINUS '-'
#define BIT 64
int main(void) {
long long num;
bool bin[BIT] = { 0, };
char sign;
int i;
int UsedMaxBit;
bool CDel = true;
while (true) {
num = 0;
memset(bin, 0, sizeof(bin));
CDel = true;
UsedMaxBit = 0;
printf("num : ");
scanf("%lld", &num);
if (num == 0) {
printf("binary : 0 0000000\n");
break;
}
(num > 0) ? sign = PLUS : sign = MINUS;
for (i = 7; num > (powl(2, i) - 1); i += 8) {
;
}
UsedMaxBit = i;
if (sign == MINUS)
num *= -1;
for (i = (BIT - 1); num; i--) {
(num % 2) ? bin[i] = 1 : bin[i] = 0;
num /= 2;
}
if (sign == MINUS) {
for (i = 0; i < BIT; i++)
bin[i] = !bin[i];
for (i = (BIT - 1); bin[i] != 0; i--)
bin[i] = 0;
bin[i] = 1;
}
printf("binary : ");
printf("%d ", bin[0]);
for (i = ((BIT-UsedMaxBit)); i < BIT; i++) {
printf("%d", bin[i]);
if (!((i + 1) % 8))
printf(" ");
}
printf("\n");
}
return 0;
}
입력 : 아무 숫자를 십진법으로 입력 *(음수 포함) *(정수)
출력 : 숫자를 이진법으로 변환해
+a : 0을 입력하면 종료
실행 결과
입력 : 십진수
출력 : 이진수
이상으로 tomskang의 C 프로그래밍 - 십진수to이진수 변환 프로그램을 마칩니다.
next
tomskang의 다른 프로그램
이진법 암호 변환 프로그램 : blog.naver.com/tomskang/221401160313
이진법 암호 변환 프로그램
안녕하세요 tomskag입니다. 이번에는 이진법 암호 프로그래밍을 해볼 겁니다. 그런데 제 생각이지만, 이런 ...
blog.naver.com
이진법 암호 해독기 : blog.naver.com/tomskang/221401929402
이진법 암호 해독기
안녕하세요 tomskag입니다. 오늘은 지난번에 만들어본 이진법 암호를 해독할 수 있는 프로그램을 만들어 볼...
blog.naver.com
'C C++ language' 카테고리의 다른 글
C언어 입력받은 글자또는 문자 출력 방법 (0) | 2021.03.13 |
---|---|
C언어 " 큰따음표와 ' 작은 따음표의 차이점 (0) | 2021.03.06 |
C언어 문자 아스키코드로 출력하는 방법 [with source] (0) | 2021.02.24 |
C언어 이진법 to 십진법 변환기 [with source] (0) | 2021.02.20 |
C언어 세 수중 가장 큰/작은 수 출력방법 [with source] (0) | 2021.02.13 |