카테고리

asm (27) bootloader_x86_grub (1) C (92) compile (11) config (76) CPP (13) CSS (1) debugging (7) gimp (1) Go (1) html (1) Java (1) JavaScript (1) kernel (19) LibreOffice (3) Linux system progamming (21) MFC (1) opencv (4) OpenGL (1) PHP (1) Python (4) qemu (29) shell (3) socket (7) troubleshooting (2) ubuntu18.04 (2) windows (1)

2018/12/21

2진수 10진수 변환

#include <stdio.h>
#include <math.h>

int convertBinaryToOctal(long long binaryNumber);
int main(void){
long long binaryNumber;

printf("Enter a binary number: ");
scanf("%lld", &binaryNumber);

printf("%lld in binary = %d in octal\n", binaryNumber, convertBinaryToOctal(binaryNumber));
return 0;
}

int convertBinaryToOctal(long long binaryNumber){
int octalNumber = 0, decimalNumber = 0, i = 0;

while(binaryNumber != 0){
decimalNumber += (binaryNumber%10) * pow(2,i);
++i;
binaryNumber /= 10;
}

i = 1;

while(decimalNumber != 0){
octalNumber += (decimalNumber %8) * i;
decimalNumber /= 8;
i *= 10;
}

return octalNumber;
}

이진수 입력 : 101001
8 진수로 51

댓글 없음:

댓글 쓰기